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

Android集成play services出现Duplicate class zzhg重复类报错

问题根因

该报错属于典型的Google Play Services依赖版本错配问题:依赖树中同时拉取了play-services-measurement-base:20.1.2和play-services-measurement-impl:20.0.2两个跨版本的同组库,两个库中存在同路径同名类,触发重复类编译错误。clean操作仅清理本地构建缓存,不会修正依赖拉取规则,因此无法解决问题。

解决方案

按优先级依次尝试以下方案即可解决问题:

  • 方案1:强制对齐measurement相关依赖版本
    打开app模块的build.gradle文件(不是根目录下的build.gradle),在android配置块中添加依赖强制解析规则,统一所有相关measurement库的版本:

    android {
        // 保留原有compileSdk、defaultConfig、buildTypes等配置
        configurations.all {
            resolutionStrategy {
                force 'com.google.android.gms:play-services-measurement-base:20.1.2'
                force 'com.google.android.gms:play-services-measurement-impl:20.1.2'
                force 'com.google.android.gms:play-services-measurement-sdk:20.1.2'
            }
        }
    }
    

    同步Gradle后重新编译即可。

  • 方案2:升级插件到稳定版,修复自动版本对齐逻辑
    你当前使用的Gradle插件是rc预览版、google-services插件版本偏低,二者都可能导致Play Services依赖自动对齐规则失效。打开根目录的build.gradle,将对应classpath替换为稳定版本:

    buildscript {
        repositories {
            google()
            mavenCentral()
        }
        dependencies {
            // 替换rc预览版为正式稳定版
            classpath 'com.android.tools.build:gradle:7.1.0'
            // 升级google-services插件到支持20.x版本Play Services的稳定版
            classpath 'com.google.gms:google-services:4.3.15'
        }
    }
    

    升级后插件会自动对同组Play Services依赖做版本对齐,不需要手动强制指定版本。

  • 方案3:排查手动声明的依赖版本
    检查所有模块中手动引入的com.google.android.gms组下的依赖、以及Firebase相关依赖,不要混合声明不同大版本的Play Services库。如果使用Firebase BoM管理版本,确保BoM版本和你引入的Play Services版本兼容,不要跨版本混用。

验证方法

修改完成后执行Gradle依赖查看命令,确认版本对齐:

# Mac/Linux
./gradlew app:dependencies

# Windows
gradlew.bat app:dependencies

在输出的依赖树中搜索play-services-measurement关键字,确认所有相关依赖都解析为同一版本,即表示问题修复。

内容的提问来源于stack exchange,提问作者Mauro Stancato

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 23:48:51