You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:30:57