通常我们在Android studio 打jar包的时候会携带一个配置文件BuildConfig.class,这是编译的时候自动生成的,在我们在其他地方引用这个jar包的时候,可能会产生冲突,所以打包需要忽略这个文件。
task makeJar(type: Copy) {
delete 'build/outputs/xxx.jar'
from('build/intermediates/packaged-classes/release/')
//过滤不需要的class
exclude ("BuildConfig.class")
exclude ('**/BuildConfig.class')
into('build/outputs/')
include('classes.jar')
rename ('classes.jar', 'xxx.jar')
}
makeJar.dependsOn(build)
添加代码之后,可以clear下项目,清下缓存
如果以上打包出来,还是存在这个BuildConfig.class 的,说明项目编译的时候引用到了,可以采取一下的代码来解决
afterEvaluate {
generateReleaseBuildConfig.enabled = false
generateDebugBuildConfig.enabled = false
}
重新编译之后,问题完美解决。
版权声明:本文为chenluming210原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。