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

构建APK时遇“duplicate entry: com/google/android/gms/internal/zzaac$zza.class”错误

解决Android Studio中Jar合并时的重复类错误(duplicate entry)

这个错误我帮很多开发者解决过,核心问题就是重复引入了同一个类文件,大概率是Google Play服务相关依赖的版本冲突或者重复依赖导致的,给你几个针对性的解决方案:

1. 统一Google Play服务依赖的版本

所有用到com.google.android.gms相关的依赖(比如地图、身份验证、分析服务等)必须使用完全相同的版本号,版本不一致是这类冲突的最常见原因。

举个正确的示例:

// 所有play-services依赖版本保持一致
implementation 'com.google.android.gms:play-services-maps:18.0.2'
implementation 'com.google.android.gms:play-services-auth:18.0.2'
implementation 'com.google.android.gms:play-services-analytics:18.0.2'

2. 排查重复依赖的来源

你可以通过gradle命令查看项目的完整依赖树,找出重复或版本不一致的依赖:

./gradlew app:dependencies

在输出结果中搜索com.google.android.gms,如果发现某个第三方库间接引入了旧版本的play-services,可以用exclude语法排除它:

// 排除第三方库中冲突的play-services依赖
implementation('com.example:third-party-lib:1.0.0') {
    exclude group: 'com.google.android.gms'
}

3. 启用Jetifier(针对AndroidX项目)

如果你的项目已经迁移到AndroidX,确保在gradle.properties中开启Jetifier,它会自动转换旧的支持库依赖为AndroidX版本,避免类冲突:

android.useAndroidX=true
android.enableJetifier=true

4. 清理缓存并重建项目

有时候缓存文件会导致奇怪的冲突,先清理项目缓存再重建:

  • 通过Android Studio菜单:Build > Clean Project → Build > Rebuild Project
  • 或者用命令行:
./gradlew clean build

5. 检查手动添加的Jar包

如果你的项目中手动添加了Google Play服务相关的Jar文件,同时又在gradle中通过implementation引入了官方依赖,就会导致重复类。这种情况需要删除其中一个(优先保留gradle依赖,便于版本管理)。

内容的提问来源于stack exchange,提问作者Eng.Abdullah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:10:20