安卓编译冲突 BuildConfig is defined multiple times
最近在接入unity3d androidSDK 的时候 遇到 编译冲突。具体方案是,sdk是新建工程,作为unity3D aar包引入 unity3D 工程。 在编译时候遇到Caused by: com.android.tools.r8.utils.b: Error: E:projectXClientproj.andriodlauncherbuildintermediatesproject_dex_archivereleaseoutcomxxxxxxxxxxBuildConfig.dex, Type xxx.xxx.xxx.xxx.BuildConfig is defined multiple times: E:projectXClientproj.andriodlauncherbuildintermediatesproject_dex_archivereleaseoutxxxxxxxxxxxxBuildConfig.dex, E:projectXClientproj.andriodlauncherbuildintermediatesexternal_libs_dexreleaseoutclasses.
网上很多方案是 都无法解决 最终找了很久。在sdk工程里的库工程 gradle(也就是你添加的第三方依赖包的gradle )添加 一下命令
afterEvaluate { generateReleaseBuildConfig.enabled = false generateDebugBuildConfig.enabled =false }
添加后是这样的
afterEvaluate { generateReleaseBuildConfig.enabled = false generateDebugBuildConfig.enabled =false } dependencies { compileOnly fileTree(dir: 'libs', include: ['*.aar','*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'com.google.android.material:material:1.1.0' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' }