添加Google控制台SHA密钥后,发布版Google登录失败(报错PlatformException)
解决Google登录发布版错误码10的排查方案
针对你遇到的PlatformException(sign_in_failed, com.google.android.gms.common.api.b: 10: , null, null)错误,结合你已做的操作,补充以下排查思路:
1. 核实发布版SHA-1的准确性与一致性
- 重新生成发布版SHA-1,确保使用的是打包发布时实际用到的密钥库文件,命令如下:
keytool -list -v -keystore /path/to/your/release.keystore -alias your-key-alias - 对比Firebase控制台、Google Cloud凭据页面(OAuth 2.0客户端ID)、Google Play控制台(若开启App Signing)中的SHA-1,确保完全一致,包括大小写和字符长度。
2. 处理Google Play App Signing的特殊情况
如果你的应用开启了Google Play App Signing,必须添加两个SHA-1:
- 上传密钥的SHA-1(你本地用来签名上传APK/AAB的密钥)
- 应用签名证书的SHA-1(Google Play生成的,在Google Play控制台→应用签名页面获取)
两者都要添加到Firebase和Google Cloud的对应位置,缺一不可。
3. 清理缓存并重新构建
- 替换新的
google-services.json后,执行Clean Project再重新构建发布版,避免旧配置缓存导致的不生效问题。 - 确认
google-services.json中的package_name与你build.gradle里的applicationId完全一致,且文件内的oauth_client条目包含了发布版SHA-1的对应配置。
4. 检查OAuth客户端ID配置
- 进入Google Cloud控制台的「API和服务→凭据」页面,找到对应Android应用的OAuth 2.0客户端ID,确认:
- 包名与
applicationId完全匹配(区分大小写) - 已关联正确的发布版SHA-1
- 包名与
5. 其他验证点
- 确认Google Cloud控制台中「Google登录API」已启用,若未启用则手动开启。
- 检查
build.gradle中的发布版签名配置,确保确实引用了正确的密钥库:signingConfigs { release { storeFile file("release.keystore") storePassword "your-store-pass" keyAlias "your-key-alias" keyPassword "your-key-pass" } } buildTypes { release { signingConfig signingConfigs.release // 其他发布版配置 } } - 测试时切换到可访问Google服务的网络环境,排除网络层面的访问限制。
内容的提问来源于stack exchange,提问作者Sohatzky
相关产品推荐
相关产品推荐

