Flutter应用上传Play Store后Google Sign In无法使用问题排查
解决Play Store封闭测试版Google Sign In失败问题
错误解析
你遇到的PlatformException(登录失败, com.google.android.gms.common.api.j: 10: , null, null)错误,核心原因是应用签名证书与Google Cloud/Firebase的配置不匹配,结合你提到的异常现象,还涉及Play App Signing证书同步、Play Integrity状态及OAuth缓存残留问题。
分步解决方案
确保Play App Signing证书完全同步到Firebase
- 从Play Console的「应用签名」页面,复制Google生成的SHA-1和SHA-256指纹
- 登录Firebase控制台,进入项目设置→对应Android应用,添加这两个指纹并移除无关旧指纹
- 重新下载
google-services.json替换项目文件,执行flutter clean && flutter pub get后重新构建上传
校验Google Cloud OAuth客户端配置
- 进入Google Cloud Console的「API与服务→凭据」,找到自动生成的Android客户端(
Android client for com.name.package) - 确认该客户端的签名指纹包含Play App Signing的SHA值,若缺失则手动添加;也可删除旧客户端后重新运行
flutterfire configure生成新配置
- 进入Google Cloud Console的「API与服务→凭据」,找到自动生成的Android客户端(
修复Play Integrity API状态异常
- 进入Play Console的「应用完整性→Play Integrity API」,确认状态为「已启用」
- 若显示「集成已启动」,先禁用再重新启用API,等待10-15分钟让配置生效
清除OAuth缓存残留
- 针对“卸载调试版重启后商店版登录失败”的问题,测试用户需在安装商店版前:
- 卸载调试版应用
- 进入系统设置→应用→Google Play服务→存储→清除缓存
- 也可在代码中添加登录前的缓存清理逻辑:
final GoogleSignIn googleSignIn = GoogleSignIn(); await googleSignIn.signOut(); await googleSignIn.disconnect(); // 执行登录操作
- 针对“卸载调试版重启后商店版登录失败”的问题,测试用户需在安装商店版前:
验证方法
- 使用Play App Signing证书签名生成APK/AAB,本地安装测试(避免用调试密钥)
- 上传到Play Store后等待30分钟以上,待商店完成签名分发后再测试登录
内容的提问来源于stack exchange,提问作者Tox46
相关产品推荐
相关产品推荐

