安卓编译冲突 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'

}