上线生产环境后Firebase Google登录失效问题求助
解决Firebase Google登录上线后API Exception 10的方案
1. 核对Google Cloud Console的OAuth 2.0客户端配置
- 确保生产环境的SHA-1和SHA-256值都已添加到对应Android类型的OAuth客户端中,不要仅添加SHA-1。
- 验证OAuth客户端的包名与上线应用的包名完全一致,Android包名区分大小写,不能有任何差异。
- 检查是否存在多个OAuth客户端,确认生产应用使用的是与Firebase关联的那一个,而非测试用的客户端。
2. 处理Google Play应用签名的特殊情况
如果应用通过Google Play发布且启用了App Signing by Google Play:
- 登录Google Play控制台,进入「应用签名」页面,复制Google Play生成的上传密钥SHA和应用签名密钥SHA,将这两个值全部添加到Firebase控制台和Google Cloud的OAuth客户端中。
- 注意:此时本地签名文件生成的SHA已不再是生产环境实际使用的,必须以Google Play提供的SHA值为准。
3. 验证Firebase配置文件有效性
- 重新从Firebase控制台下载
google-services.json,检查其中oauth_client字段是否包含生产环境的SHA值和正确包名。 - 确认上线打包时使用的是最新的
google-services.json,避免遗留旧配置文件。
4. 清除设备缓存与应用数据
- 指导用户在设备上操作:进入「设置 > 应用 > Google Play服务 > 存储 > 清除缓存」,然后清除目标应用的数据,再重新测试登录。
- 部分旧设备可能需要重启后再尝试。
5. 检查Google Cloud相关API状态
- 登录Google Cloud Console,确认Google Identity Toolkit API和Google Sign-In API已启用,这两个是Firebase登录的核心依赖服务。
- 若之前禁用过,重新启用后需等待5-10分钟让配置生效。
6. 排查签名文件与SHA值匹配性
- 确认上线打包使用的签名文件(.jks/.keystore)与测试时一致;若使用不同签名文件,需确保其SHA值已正确添加到配置中。
- 用命令行重新生成SHA值验证,避免手动复制时出错:
将输出的SHA-1和SHA-256与Google Cloud、Firebase中的值逐一比对,确保无空格、大小写错误。keytool -list -v -keystore your-release-key.jks
7. 测试生产环境的实际安装包
- 从Google Play控制台下载已发布的APK/AAB,安装到测试设备直接测试,不要使用本地打包的版本。
- 若下载的包测试正常,说明问题可能出在用户设备缓存;若仍报错,回到配置检查步骤重新核对。
内容的提问来源于stack exchange,提问作者Raj Amrutya
相关产品推荐
相关产品推荐

