Android应用上架Google Play后Google Sign In登录报错Error 10问题排查
Google登录返回Error 10的常见原因
Error 10属于Google OAuth认证的配置校验失败错误,你的本地测试正常说明代码逻辑没有问题,问题基本都出在云端签名/客户端ID配置环节,可能的原因如下:
- Google Play应用重签名导致SHA1不匹配
这是90%以上该场景下的问题原因:如果你开启了Google Play的「应用签名」服务,你本地上传的apk是用自己的上传密钥签名,Google Play分发的时候会替换为平台托管的发布密钥重新签名。你在Google Cloud控制台的OAuth 2.0客户端ID配置中,只添加了本地上传密钥的SHA1指纹,没有添加Google Play托管的发布密钥的SHA1指纹,就会导致签名校验失败返回Error 10。
排查方案:打开Google Play控制台,进入对应应用的「设置」-「应用完整性」-「应用签名」页面,复制「应用签名密钥证书」下的SHA1值,添加到Google Cloud控制台对应Android客户端ID的SHA1配置列表中,等待5-10分钟配置生效后即可恢复。 - 客户端ID配置错误
检查BuildConfig.GOOGLE_CLIENT_ID对应的OAuth客户端ID是否为Android类型的客户端ID,且绑定的包名和你应用上架的包名完全一致。如果误使用了Web类型的客户端ID,或者包名配置不匹配,也会出现校验失败。 - google-services.json配置缺失
如果你项目中使用了Google Services Gradle插件生成配置,添加完Google Play的SHA1后需要重新下载最新的google-services.json文件替换到项目的release构建目录下,重新打包提交才能生效。 - 混淆规则遗漏
检查release构建的混淆配置文件,是否添加了Google登录相关的免混淆规则,如果Google登录的核心类被混淆,也可能导致认证逻辑异常返回错误。
推荐添加的混淆规则如下:-keep class com.google.android.gms.auth.** { *; } -keep class com.google.android.gms.common.** { *; }
内容的提问来源于stack exchange,提问作者Jan K
相关产品推荐
相关产品推荐

