Google Sign-in报ERROR 10(Wrong OAuth):调试正常发布APK异常求助
解决Google登录ERROR 10(Wrong OAuth)发布版失效问题
碰到这种调试版正常、发布版Google登录炸锅的情况,十有八九是签名SHA1不匹配——毕竟你已经开启了Google Play应用签名,这里很容易踩坑!我来给你一步步捋清楚怎么解决:
核心原因:开启Google Play签名后,发布版用的不是你本地的SHA1
当你在Play Console开启了「Google Play应用签名」,Google会替你管理最终的发布签名密钥。你自己上传APK用的是「上传密钥」,但用户下载到的APK是用Google生成的「应用签名密钥」重新签名的,这两个SHA1完全不一样!你之前配置的两个SHA1里,大概率缺了这个关键的「应用签名密钥SHA1」。
具体解决步骤
1. 从Play Console获取正确的发布版SHA1
- 打开Google Play Console,进入你的应用
- 左侧菜单找到「发布」→「设置」→「应用签名」
- 在页面里找到应用签名证书部分,复制它的SHA-1值(注意别复制错成上传密钥的SHA1)
2. 更新Firebase Console的SHA1配置
- 打开Firebase Console,进入你的项目
- 左侧菜单点击「设置」→「项目设置」→ 切换到「你的应用」标签
- 点击「添加指纹」,把刚才复制的「应用签名密钥SHA1」添加进去
- 确保现在列表里有三个SHA1:调试版SHA1、上传密钥SHA1、应用签名密钥SHA1(之前你加了两个,现在补全第三个)
3. 替换最新的google-services.json并重新打包
- 在Firebase项目设置页面,点击「下载google-services.json」,替换你Android项目
app/目录下的旧文件 - 回到Android Studio,先执行
Build → Clean Project,再重新编译发布版APK(或者App Bundle)
4. 额外检查(可选但保险)
- 打开Google Cloud Console,找到对应项目,搜索「API和服务」→「凭据」
- 找到你的Android客户端ID,查看其关联的SHA1是否包含「应用签名密钥SHA1」,如果没有就手动添加
这样操作完,发布版的Google登录应该就能正常工作了——本质就是让OAuth验证用的SHA1和用户实际安装的APK签名一致!
内容的提问来源于stack exchange,提问作者user9869564




