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

测试发布版SHA-1授权时出现Game Services OAuth2.0错误

解决Google Play游戏服务发布版SHA-1授权失败问题

我碰到过好几个开发者遇到和你一模一样的问题,大部分都是SHA-1配置或者签名相关的细节没处理好,给你列几个排查方向,按顺序试试应该能解决:

  • 确认发布版SHA-1的绝对准确性
    90%的这类问题都出在这里——你在开发者控制台填的SHA-1,是不是发布签名密钥的?很多人会不小心把调试密钥的SHA-1重复填进去。验证方法很简单,用命令行生成发布密钥的SHA-1:

    keytool -list -v -keystore 你的发布密钥库路径.jks -alias 你的密钥别名
    

    把输出里的SHA-1值(注意是SHA1,不是SHA256)复制出来,和Google Play开发者控制台、Firebase控制台里的配置逐一比对,确保没有空格、大小写错误或者字符遗漏。

  • 同步Firebase与Google Play游戏服务的SHA-1配置
    因为你的应用用了Firebase,两个平台的SHA-1必须完全同步。打开Firebase控制台,进入项目设置→应用,找到你的Android应用,把发布版的SHA-1添加进去,然后重新下载google-services.json文件替换项目里的旧文件,接着clean项目再重新构建发布版APK。

  • 检查OAuth客户端ID与游戏服务的关联
    进入Google Play开发者控制台的游戏服务页面,找到你的游戏,点击「链接的应用」,确认Android应用下同时存在调试和发布两个客户端ID,并且每个ID对应的SHA-1都正确。另外,如果你的游戏还没正式发布,记得把测试用的Google账号添加到「测试账号」列表里——未发布的游戏只有添加过的测试账号才能正常登录。

  • 抓取详细错误日志定位问题
    你说找不到错误代码,其实可以通过Logcat抓取发布版的日志信息:

    1. 把测试设备连接到电脑,打开Android Studio的Logcat
    2. 过滤关键词GooglePlayServices、Auth或者SignIn
    3. 触发登录流程,查看是否有更具体的错误提示(比如SIGN_IN_FAILED的子类错误,或者OAuth授权失败的原因)
      要是Studio的Logcat不够清晰,试试用命令行:
    adb logcat -s GooglePlayServices
    

    这个命令会只输出Google Play服务相关的日志,更容易找到关键错误信息。

  • 检查Google Play App Signing的影响
    如果你开启了Google Play的应用签名服务,那你本地的发布密钥SHA-1其实没用——Google会替换成它自己的签名密钥。这时候你需要去Google Play控制台→应用→应用签名页面,复制「应用签名证书」或者「上传证书」的SHA-1值,把这个值添加到Google Play游戏服务和Firebase的配置里,而不是你本地的密钥SHA-1。

  • 清除缓存后重新测试
    有时候本地缓存会干扰认证流程,测试前先做这些操作:

    • 卸载设备上的发布版应用
    • 进入设备设置→应用→Google Play服务→存储→清除缓存
    • 重新安装发布版APK,再尝试登录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:34:10