最近在负责海外项目的开发,Google Play平台要求的是aab格式的包(使用Gradle的创建方式),在打包的时候报错Program type already present: com.xxx.xxx.BuildConfig,这是因为我使用Android Studio(以下简称AS)打包的aar文件中已经包含了一个com.xxx.xxx.BuildConfig文件,Unity再打包的时候也会生成一个,这时候就起冲突了。解决办法就是我们让AS生成aar的时候不要创建com.xxx.xxx.BuildConfig文件,具体操作如下:
在app文件夹下的build.gradle文件最外层直接添加一段代码:
afterEvaluate {
generateReleaseBuildConfig.enabled = false
generateDebugBuildConfig.enabled = false
}
如图所示:
添加这段代码后我们再生成aar文件,里面的classer.jar文件中就会少一个com.xxx.xxx.BuildConfig文件了,对比如图所示:
这样就更改好了啦,放入Unity打包后问题也解决了。