Unity集成Firebase打包Android时出现checkReleaseDuplicateClasses错误
解决Unity集成Firebase打包时的重复类错误
我知道这是多库依赖同一资源不同版本导致的常见问题,但搞不清导入环节哪里出了问题。我在Unity中集成Firebase,目标Android API 34,模拟器运行正常,但打包时触发以下错误:
Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
1 exception was raised by workers:
java.lang.RuntimeException: Duplicate class androidx.lifecycle.ClassesInfoCache found in modules jetified-androidx.lifecycle.lifecycle-common-2.3.1.jar (androidx.lifecycle.lifecycle-common-2.3.1.jar) and lifecycle-common-2.1.0.jar (androidx.lifecycle:lifecycle-common:2.1.0)
我的Gradle配置文件如下:
// Android Resolver Repos Start ([rootProject] + (rootProject.subprojects as List)).each { project -> project.repositories { def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\", "/") maven { url "https://maven.google.com" } maven { url (unityProjectPath + "/Assets/GeneratedLocalRepo/Firebase/m2repository") // Assets/Firebase/Editor/AnalyticsDependencies.xml:18, Assets/Firebase/Editor/AppDependencies.xml:22, Assets/Firebase/Editor/AuthDependencies.xml:20, Assets/Firebase/Editor/DatabaseDependencies.xml:22, Assets/Firebase/Editor/MessagingDependencies.xml:24, Assets/Firebase/Editor/StorageDependencies.xml:20 } maven { url "https://maven.google.com/" // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7, Assets/GoogleMobileAds/Editor/GoogleUmpDependencies.xml:7 } mavenLocal() mavenCentral() } } // Android Resolver Repos End apply plugin: 'com.android.library' **APPLY_PLUGINS** dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:support-compat:26.1.0' def lifecycle_version = "2.3.1" implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" // Android Resolver Dependencies Start implementation 'com.google.android.gms:play-services-ads:22.3.0' // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7 implementation 'com.google.android.gms:play-services-base:18.2.0' // Assets/Firebase/Editor/DatabaseDependencies.xml:17 implementation 'com.google.android.play:core-common:2.0.0' // Assets/GooglePlayPlugins/com.google.play.core/Editor/Dependencies.xml:3 implementation 'com.google.android.play:review:2.0.0' // Assets/GooglePlayPlugins/com.google.play.review/Editor/Dependencies.xml:3 //implementation 'com.google.android.ump:user-messaging-platform:2.1.0' // Assets/GoogleMobileAds/Editor/GoogleUmpDependencies.xml:7 implementation 'com.google.firebase:firebase-analytics:21.3.0' // Assets/Firebase/Editor/StorageDependencies.xml:15 implementation 'com.google.firebase:firebase-analytics-unity:11.5.0' // Assets/Firebase/Editor/AnalyticsDependencies.xml:18 implementation 'com.google.firebase:firebase-app-unity:11.5.0' // Assets/Firebase/Editor/AppDependencies.xml:22 implementation 'com.google.firebase:firebase-auth:22.1.2' // Assets/Firebase/Editor/AuthDependencies.xml:13 implementation 'com.google.firebase:firebase-auth-unity:11.5.0' // Assets/Firebase/Editor/AuthDependencies.xml:20 implementation 'com.google.firebase:firebase-common:20.3.3' // Assets/Firebase/Editor/AppDependencies.xml:13 implementation 'com.google.firebase:firebase-database:20.2.2' // Assets/Firebase/Editor/DatabaseDependencies.xml:13 implementation 'com.google.firebase:firebase-database-unity:11.5.0' // Assets/Firebase/Editor/DatabaseDependencies.xml:22 implementation 'com.google.firebase:firebase-iid:21.1.0' // Assets/Firebase/Editor/MessagingDependencies.xml:17 implementation 'com.google.firebase:firebase-messaging:23.2.1' // Assets/Firebase/Editor/MessagingDependencies.xml:13 implementation 'com.google.firebase:firebase-messaging-unity:11.5.0' // Assets/Firebase/Editor/MessagingDependencies.xml:24 implementation 'com.google.firebase:firebase-storage:20.2.1' // Assets/Firebase/Editor/StorageDependencies.xml:13 implementation 'com.google.firebase:firebase-storage-unity:11.5.0' // Assets/Firebase/Editor/StorageDependencies.xml:20 implementation 'com.google.flatbuffers:flatbuffers-java:1.12.0' // Assets/Firebase/Editor/MessagingDependencies.xml:19 // Android Resolver Dependencies End **DEPS**} configurations { all { exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx' } } // Android Resolver Exclusions Start android { packagingOptions { exclude ('/lib/armeabi/*' + '*') exclude ('/lib/mips/*' + '*') exclude ('/lib/mips64/*' + '*') exclude ('/lib/x86/*' + '*') exclude ('/lib/x86_64/*' + '*') } } // Android Resolver Exclusions End android { compileSdkVersion **APIVERSION** buildToolsVersion '**BUILDTOOLS**' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { minSdkVersion **MINSDKVERSION** targetSdkVersion **TARGETSDKVERSION** ndk { abiFilters **ABIFILTERS** } versionCode **VERSIONCODE** versionName '**VERSIONNAME**' consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD** } lintOptions { abortOnError false } aaptOptions { noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ') ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~" }**PACKAGING_OPTIONS** }**REPOSITORIES** **IL_CPP_BUILD_SETUP** **SOURCE_BUILD_SETUP** **EXTERNAL_SOURCES**
我参考类似问题尝试添加以下依赖,但问题依旧:
def lifecycle_version = "2.3.1" implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
以及
implementation 'com.android.support:support-compat:26.1.0'
希望有人能指出问题所在并提供解决思路。
内容的提问来源于stack exchange,提问作者Tobias S. Lucian
相关产品推荐
相关产品推荐

