以这个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