例子:
module包名是com.example.mylibrary,在module内部的build.gradle文件中添加任务
task clearJar(type: Delete) {
delete 'build/libs/library.jar'
}
task makeJar(type: org.gradle.api.tasks.bundling.Jar) {
//指定生成的jar名
baseName 'library'
//从哪里打包class文件
from('build/intermediates/classes/debug/com/example/mylibrary')
//打包到jar后的目录结构
into('com/example/mylibrary')
//去掉不需要打包的目录和文件
exclude('R.class')
exclude('BuildConfig.class')
//去掉R开头的文件,这个没道理啊?觉得不合理!
//exclude {
// it.name.startsWith('R')
//}
}
// 执行如下命令
$ gradle clearJar 或者 ./gradlew clearJar : 删除jar包;
$ gradle makeJar 或者 ./gradlew makeJar : 生成jar包;
###: 生成的jar包在 build/libs/ 目录下
demo:https://github.com/wanghui19921029/GradleTest1