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

未使用Firebase的Android应用改包名后Google登录抛出ApiException 10怎么解决?

非Firebase接入Google登录修改包名后报ApiException 10解决方案

问题根因

即使你使用的是Web类型的OAuth客户端ID发起Google登录,Android端的Google Play Services在处理登录请求时,会自动携带当前应用的包名和签名证书SHA-1指纹到Google认证后端做校验。

首次配置能正常运行,是因为当时你的GCP项目下存在匹配旧包名+应用签名的身份校验规则,修改包名后校验不匹配,就会抛出com.google.android.gms.common.api.ApiException: 10错误,该错误码明确对应开发者配置错误、应用身份校验不通过的场景。

修复步骤

  • 第一步:获取当前应用使用的签名证书SHA-1指纹
    调试签名可直接执行以下命令获取:
    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    
    正式签名需将命令中的keystore路径、alias、密码替换为正式签名对应的参数,复制输出结果中的SHA-1值备用。
  • 第二步:登录Google Cloud Platform,进入对应项目的「APIs & Services > Credentials」页面
  • 第三步:新建OAuth客户端ID,应用类型选择「Android」,依次填入修改后的新包名、上一步获取的SHA-1指纹后保存
    无需修改代码中已填入的Web类型client ID,仅需保证同GCP项目下存在匹配新包名+签名的Android类型OAuth凭证即可
  • 第四步:清理应用本地缓存,重新打包安装测试,登录功能即可恢复

额外注意事项

如果你的应用存在多环境签名(如调试、测试、正式环境签名不同)、多渠道包名不同的情况,需要将所有用到的包名+签名组合,都创建对应的Android类型OAuth凭证,避免后续其他环境出现相同报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:06:04