Android Studio生成Release构建时出现Duplicate class错误求助
解决Play Services Measurement类重复冲突问题
构建Android应用Release包时,出现以下重复类错误:
Duplicate class com.google.android.gms.internal.measurement.zzhx found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.internal.measurement.zzmz found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.internal.measurement.zzna found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.internal.measurement.zznb found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.internal.measurement.zznc found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.internal.measurement.zznd found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.measurement.internal.zzga found in modules jetified-play-services-measurement-19.0.0-runtime (com.google.android.gms:play-services-measurement:19.0.0) and jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) Duplicate class com.google.android.gms.measurement.internal.zzhe found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.measurement.internal.zzhf found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.measurement.internal.zzhg found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.measurement.internal.zzhh found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.measurement.internal.zzhi found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.measurement.internal.zzhj found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.measurement.internal.zzio found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0) Duplicate class com.google.android.gms.measurement.internal.zzit found in modules jetified-play-services-measurement-base-20.1.2-runtime (com.google.android.gms:play-services-measurement-base:20.1.2) and jetified-play-services-measurement-impl-19.0.0-runtime (com.google.android.gms:play-services-measurement-impl:19.0.0)
已在gradle.properties中添加android.useAndroidX=true android.enableJetifier=true,当前app模块build.gradle内容如下:
apply plugin: 'com.android.application' android { namespace 'com.pp.prescriptionpatriot' compileSdkVersion 32 defaultConfig { applicationId "com.pp.prescriptionpatriot" minSdkVersion 29 targetSdkVersion 32 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } repositories { flatDir{ dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs' } } dependencies { implementation 'com.android.support:multidex:1.0.3' // Branch: required for all Android apps implementation 'io.branch.sdk.android:library:5.2.3' // Branch: required if your app is in the Google Play Store (tip: avoid using bundled play services libs) implementation 'com.google.firebase:firebase-appindexing:20.0.0' // App indexing implementation 'com.google.android.gms:play-services-ads:21.2.0' // GAID matching implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'androidx.appcompat:appcompat:1.5.1' implementation project(':capacitor-android') testImplementation "junit:junit:4.13.2" androidTestImplementation "androidx.test.ext:junit:1.1.3" androidTestImplementation "androidx.test.espresso:espresso-core:3.4.0" implementation project(':capacitor-cordova-android-plugins') implementation 'com.android.support:multidex:1.0.3' //implementation 'com.google.firebase:firebase-appindexing:19.1.0' //implementation 'androidx.work:work-runtime:2.7.1' } apply from: 'capacitor.build.gradle' try { def servicesJSON = file('google-services.json') if (servicesJSON.text) { apply plugin: 'com.google.gms.google-services' } } catch(Exception e) { logger.warn("google-services.json not found, google-services plugin not applied. Push Notifications won't work") }
解决方案
1. 排除依赖中的冲突库
修改app模块build.gradle的dependencies块,给Branch和Firebase依赖排除旧版本的measurement相关库:
dependencies { implementation 'com.android.support:multidex:1.0.3' // Branch: required for all Android apps implementation('io.branch.sdk.android:library:5.2.3') { exclude group: 'com.google.android.gms', module: 'play-services-measurement' exclude group: 'com.google.android.gms', module: 'play-services-measurement-impl' exclude group: 'com.google.android.gms', module: 'play-services-measurement-base' } // Branch: required if your app is in the Google Play Store (tip: avoid using bundled play services libs) implementation('com.google.firebase:firebase-appindexing:20.0.0') { exclude group: 'com.google.android.gms', module: 'play-services-measurement' exclude group: 'com.google.android.gms', module: 'play-services-measurement-impl' exclude group: 'com.google.android.gms', module: 'play-services-measurement-base' } implementation 'com.google.android.gms:play-services-ads:21.2.0' // GAID matching // 其他依赖保持不变... }
2. 统一Play Services版本(可选)
在项目根目录的build.gradle中添加版本统一配置,强制所有Play Services相关库使用指定版本:
buildscript { ext { playServicesVersion = "21.2.0" playServicesMeasurementVersion = "20.1.2" } // 其他buildscript配置... } allprojects { repositories { // 仓库配置... } configurations.all { resolutionStrategy { force "com.google.android.gms:play-services-measurement-base:${playServicesMeasurementVersion}" force "com.google.android.gms:play-services-measurement-impl:${playServicesMeasurementVersion}" force "com.google.android.gms:play-services-measurement:${playServicesMeasurementVersion}" } } }
3. 清理并同步项目
- 执行命令行:
./gradlew clean清理构建缓存 - 点击Android Studio顶部工具栏的"Sync Project with Gradle Files"按钮同步依赖
- 重新尝试构建Release包
内容的提问来源于stack exchange,提问作者Abhay Singh
相关产品推荐
相关产品推荐

