Android library 打jar包,如何忽略BuildConfig.class

通常我们在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
    }

重新编译之后,问题完美解决。

猜你喜欢

转载自blog.csdn.net/chenluming210/article/details/131470932