注意一下几点:1.必须是依赖包library 2.task makeJar(type: Copy) {}必须按照图中的位置去放置(和android、dependencies标签同级)
3. libs之前的jar包可能会被删除,可以在task里面配置 4.lintOptions {abortOnError
false
}这句是必须加的
1.新建测试工程,工程里面有两个module,app是Android工程,mylibrary是Android Library库。
2.打开mylibrary目录下的build.gradle文件,加入下面的代码块。
1
2
3
4
5
6
7
8
|
task makeJar(type: Copy) {
delete
'build/libs/mylibrary.jar'
//删除已经存在的jar包
from(
'build/intermediates/bundles/release/'
)
//从该目录下加载要打包的文件
into(
'build/libs/'
)
//jar包的保存目录
include(
'classes.jar'
)
//设置过滤,只打包classes文件
rename(
'classes.jar'
,
'mylibrary.jar'
)
//重命名,mylibrary.jar 根据自己的需求设置
}
makeJar.dependsOn(build)
|
3.在AS终端窗口中输入gradlew makeJar命令。
4.运行上面的命令(第一次会自动下载需要的依赖,时间稍长),结果如下,则打包成功。
5.将生成的jar包拷出供其它工程使用
如果在运行 gradlew makeJar 命令时出现如下错误(mylibrary为我的library库的名称):
1
2
|
Execution failed
for
task
':mylibrary:lint'
.
> Lint found errors in the project; aborting build.
|
则在mylibrary目录下的build.gradle文件中,加入下面的代码块(注意代码块所在的位置),重新执行 gradlew makeJar 命令即可:
1
2
3
|
lintOptions {
abortOnError
false
}
|