以这个library为例,我们要将com.zxxk.httputils目录下的内容打成jar包
1. 执行make project,执行完之后我们打开如下图所示的目录即可看到class文件
2. 配置该库的build.gradle文件,并添加如下代码
task clearJar(type: Delete) { delete 'build/libs/httputils.jar' delete 'libs/httputils.jar' } //task makeJar(type: Copy) { // from('build/intermediates/bundles/debug') // into('libs/') // include('classes.jar') // rename('classes.jar', 'httputils.jar') //} //打包任务 task makeJar(type:org.gradle.api.tasks.bundling.Jar) { //指定生成的jar名 baseName 'httputils' //从哪里打包class文件 from('build/intermediates/classes/debug/com/zxxk/httputils') //打包到jar后的目录结构 into('com/zxxk/httputils/') //去掉不需要打包的目录和文件 exclude('BuildConfig.class', 'R.class') //去掉R$开头的文件 exclude{ it.name.startsWith('R$');} } makeJar.dependsOn(clearJar, build)
3. 打开Android Studio的终端
4. 输入gradlew makeJar 会出现如下错误,将错误提示代码添加到该库的build.gradle文件的android节点下
5. 输入gradlew makeJar 等待之后出现BUILD SUCCESSFUL之后代表打包成功
如果无法识别gradlew指令,说明电脑没有配置gradle的环境变量,请自行百度谷歌配置之
还有需要注意的是如果是第一次用gradle打jar包,可能Android Studio会下载相关的文件,并且需要很长时间,不要放弃
6. 然后打开下面的目录就会发现刚打包完成的jar包
7. 在其他app中使用该jar文件时需要在该app的build.gradle文件的dependencies节点进行依赖声明
8. 如果是带有资源文件的arr包
其他androidstudio工程引用aar包
①.将aar包复制到lib目录下
②.配置工程app的build.gradle文件:
加入
repositories { flatDir { dirs 'libs' }
compile(name:'httputils-debug', ext:'aar')
9. 在其他app中使用该aar文件时需要在该app的build.gradle文件的dependencies节点进行aar库build.gradle文件中依赖声明
原文链接:http://blog.csdn.net/hard_working1/article/details/52639776