Android Studio 打包 Jar 并在项目中用 Jar/so 库

android studio 教程 | 2018-10-24 20:12

打包 简单点理解就是: module 模块执行打包命令生成 jar 包 。

打包流程:

Android Studio 执行打包 task 会在 build/intermediates/ 下某个文件夹下生成 classes.jar 。这个路径不同版本的 as 都不同。( as3.0 在build\intermediates\intermediate-jars\debug/ ;as3.1 在build/intermediates/packaged-classes/release/ )所以这个路径在 build/intermediates/ 亲自去找 。我们要的就是这个 jar 包 。

Android Studio 打包 Jar 打包的是 Moudle 模块 而不是应用模块。

如果你开发的时候直接创建应用 然后开发到最后想把代码封装成 jar 包有两种办法

1、修改项目级别的 build.gradle 相关配置配置成 library 模块

2、直接在你项目的基础上新建一个 module 然后把要封装的代码 copy 到 module

新建 module 的好处就是 build.gradle 配置都配置好了 推荐第二种方法 。

如果是 nkd 开发还要把 ndk 相关配置也要复制到 module 的 bulid.gradle 配置中 。如 cmakelist.tex 的配置 。因为要生成 so 库 。

在 module 的项目 build.gradle  最外层配置(其实就是将 jar 包拷贝到自己定义的目录下  不用每次都去找)

//Copy类型task makeJar(type: Copy) {    //删除存在的 这个路径跟你存储的路径一致    delete 'libs/mysdk.jar'    //设置拷贝的文件 这个路径 as不同版本 路径也不同    from('build/intermediates/intermediate-jars/debug/')        //我们想将 jar包放到的目录 这个目录随便定义      into('libs/')    //将classes.jar放入build/libs/目录下    //include ,exclude参数来设置过滤    //(我们只关心classes.jar这个文件)    include('classes.jar')    //重命名    rename ('classes.jar', 'mysdk.jar')}makeJar.dependsOn(build)

然后再 Terminal 输入命令 gradlew makeJar

提示 BUILD SUCCESSFUL  就表示生成成功了

拷贝出来用 即可

怎么在项目中用 jar 包跟 so 库

将 jar 包 拷贝到自己项目 libs 文件夹下

然后将 jar 包添加到 项目依赖

File  --> projectStructure --> app(你的应用)  --> dependencies --->  点右上角的绿色加号  ---> 选择 Jar dependency ---> 选择 libs 文件下的 jar ---> ok

这样就可以用了

配置 so 库调用

在 defaultConfig 下配置

ndk {            abiFilters "armeabi"        }        sourceSets {            main {                jniLibs.srcDirs = ['libs']            }        }

将 so 库复制到 armeabi 架构文件夹下 ;

这样就连接上  so 库了 。