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

更新Play Services至15.0.0并添加SafetyNet后出现重复类编译错误

解决Play Services 15.0.0版本依赖冲突问题

嘿,这个问题我之前帮不少开发者排查过——本质就是Google Play服务各组件版本不统一导致的重复类冲突。下面给你几个落地可行的解决办法:

1. 统一所有Play Services依赖的版本

Google官方要求所有Play Services组件(比如safetynet、analytics、location等)必须使用相同版本,不然很容易出现类重复的问题。你可以这么做:

  • 在项目根目录的build.gradle里定义统一的版本变量:
    ext {
        playServicesVersion = '15.0.0'
    }
    
  • 然后在app模块的build.gradle里,所有Play Services相关的依赖都用这个变量引用:
    implementation "com.google.android.gms:play-services-safetynet:$playServicesVersion"
    // 比如如果还有其他组件,也统一版本
    implementation "com.google.android.gms:play-services-analytics:$playServicesVersion"
    

2. 排查并排除重复的依赖

有些第三方SDK会偷偷引入旧版本的Play Services模块,导致冲突。你可以用Gradle命令找出元凶:

  • 在终端运行依赖树命令:
    ./gradlew app:dependencies
    
  • 搜索com.google.android.gms:play-services-measurement相关条目,看看有没有不同版本的引用。如果发现某个第三方库带了旧版本,就用exclude把它去掉,比如:
    implementation('你的第三方SDK依赖') {
        exclude group: 'com.google.android.gms', module: 'play-services-measurement'
    }
    

3. 清理缓存并重新构建

有时候Gradle的缓存会搞事情,先清理再构建试试:

  • 执行Android Studio的Build > Clean Project,然后Build > Rebuild Project
  • 或者终端运行:
    ./gradlew clean build
    

额外提示

你遇到的com.google.android.gms.internal.measurement.zzabo类属于play-services-measurement模块,大概率是某个依赖(比如Firebase、广告SDK等)引入了这个模块的不同版本,和你手动添加的safetynet依赖版本不一致导致重复。按照上面的步骤排查,基本能解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:33:16