添加SHA与Web客户端后,Google登录出现signInResult:failed code=10错误
signInResult:failed code=10 对应Google登录的DEVELOPER_ERROR,结合你提到测试项目可正常运行的情况,优先排查当前项目的配置细节,不用急着重建项目,试试以下步骤:
核对SHA证书指纹的完整性:
确保Firebase控制台中同时配置了SHA-1和SHA-256指纹,且区分debug和release环境(debug指纹来自debug.keystore,release指纹来自正式签名密钥)。可以用命令重新生成指纹确认:# Debug指纹 keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android # Release指纹 keytool -list -v -keystore 你的正式密钥路径 -alias 你的密钥别名确认OAuth 2.0 Web客户端ID的配置与代码引用:
确保Firebase控制台中添加的是Web类型的OAuth客户端ID,而非Android类型;同时检查代码中GoogleSignInOptions初始化时传入的serverClientId是否与该Web客户端ID完全一致,不要误用Android客户端ID。重新下载并替换google-services.json:
所有配置修改后,务必从Firebase控制台重新下载最新的google-services.json文件,替换项目app目录下的旧文件,然后执行Clean Project和Rebuild Project操作,确保配置同步到项目中。检查OAuth同意屏幕状态:
如果同意屏幕处于测试状态,需确保当前用于登录的Google账号已添加到测试用户列表中;若为发布状态,确认应用名称、隐私政策链接等必填项已正确填写并通过审核。验证包名一致性:
核对Firebase控制台中注册的应用包名,与AndroidManifest.xml中的package属性完全一致(包括大小写),包名不匹配会导致签名验证失败。清除本地缓存测试:
在测试设备上,清除Google Play服务的缓存数据,同时卸载当前应用并重新安装,避免旧配置残留影响登录流程。
内容的提问来源于stack exchange,提问作者Victor Sanchez

