Unity打包Android问题记录 "Program type already present"(Gradle下载文件冲突)

Unity打包Android:

Unity项目中有多个SDK,其中一个SDK需要利用Gradle自动下载SDK所需的文件(aar/jar)包,在Unity直接打包Apk,或Unity导出AS(Android Studio)工程,AS导出Apk,会有以下两种可能报错:

1.  "Error: Program type already present: com.google.android.gms.auth.api.signin.GoogleSignInAccountGradle"

2.  "Cannot add task ':prepareComAndroidSupportSupportCoreUtils2610Library' as a task with that name already exists" 

Unity打包Android问题记录

类似报错显示部分文件冲突,Gradle下载文件与本地已有的其他SDK文件冲突,所下载的文件在其他SDK中已存在。

解决办法:

在Gradle中用"exclude "指令排除重复文件下载:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation('com.adincube.sdk:******@aar')
    {
        transitive = true
        exclude group: 'com.android.support'
        //exclude group: 'com.android.support', module: 'support-v4'
        //exclude group: '******', module: '***'
    }
    implementation 'com.android.support:multidex:1.0.1'
    implementation(name: 'com.android.support.support-v4-26.1.0', ext:'aar')
    implementation(name: 'common', ext:'aar')
    implementation project(':Firebase')
    //·····
}

参考资料:

使用Gradle管理你的Android Studio工程

Gradle系列《二》: 在Android中的应用

 

你可能感兴趣的:(Unity打包Android问题记录 "Program type already present"(Gradle下载文件冲突))