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

Google Play发布新版App受阻:play-services-ads版本及移除问题求助

解决GMA SDK过时及移除后仍无法升级的问题

一、先揪出隐藏的间接依赖

你说自己没用到广告服务,但Google Play还检测到旧版GMA SDK,大概率是第三方依赖偷偷引入了play-services-ads或play-services-ads-lite。这也是你手动移除依赖后问题依旧的核心原因。

排查步骤:

  • 执行gradle命令生成完整依赖树:
    ./gradlew app:dependencies
    
    或者在Android Studio的Gradle面板里,运行app > Tasks > android > androidDependencies,搜索play-services-ads,找到是哪个第三方库带进来的。

二、彻底移除GMA SDK

找到间接依赖的来源后,用exclude语法强制排除:
比如排查后发现是com.example:third-party-lib:2.0.0引入的,修改你的gradle依赖:

implementation('com.example:third-party-lib:2.0.0') {
    exclude group: 'com.google.android.gms', module: 'play-services-ads'
    exclude group: 'com.google.android.gms', module: 'play-services-ads-lite' // 别漏了轻量版
}

如果多个依赖都带,就逐个排除;要是嫌麻烦,也可以全局排除(但谨慎用,确认完全不需要GMA相关功能再用):

configurations.all {
    exclude group: 'com.google.android.gms', module: 'play-services-ads'
    exclude group: 'com.google.android.gms', module: 'play-services-ads-lite'
}

三、升级版本时解决重复类错误

如果暂时没法完全移除,必须升级版本的话,重复类错误一般是不同依赖引入了不同版本的GMA SDK或其关联库,统一版本就能解决:

  1. 在gradle的ext块里定义统一的GMS版本:
ext {
    gmsAdsVersion = "23.2.0"
}
  1. 强制所有依赖使用这个版本:
configurations.all {
    resolutionStrategy {
        force "com.google.android.gms:play-services-ads:$gmsAdsVersion"
        force "com.google.android.gms:play-services-ads-lite:$gmsAdsVersion"
        // 如果还有其他GMS相关依赖(比如play-services-base),也统一版本避免冲突
    }
}

四、验证修复效果

  1. 重新构建项目,确保没有编译错误
  2. 生成签名包后,用Google Play的预发布检查工具确认旧版SDK已清除
  3. 再次提交新版本到Google Play,确认报错消失

内容的提问来源于stack exchange,提问作者Shyam Sunder Ghai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:45:59