Flutter接入Firebase实现Google登录时报ApiException 10错误怎么解决?
报错说明
你遇到的com.google.android.gms.common.api.ApiException: 10是Flutter接入Firebase Google登录的常见报错,核心原因是App签名指纹和Firebase后台配置的指纹不匹配,你可以正常唤起账号选择界面说明基础依赖配置正常,仅身份校验环节未通过。
修复步骤
- 第一步:获取当前App使用的签名指纹
- Debug模式运行时,进入项目android目录,执行
./gradlew signingReport(Windows系统执行gradlew signingReport),复制debug变体对应的SHA1、SHA256值 - Release模式运行时,执行
keytool -list -v -keystore [你的jks签名文件路径] -alias [你的签名别名],输入密钥库密码后复制对应的SHA1、SHA256值
- Debug模式运行时,进入项目android目录,执行
- 第二步:进入Firebase控制台的项目设置页面,找到对应Android应用的「SHA证书指纹」模块,把上一步获取的两个指纹添加进去
- 第三步:重新下载Firebase控制台生成的
google-services.json文件,替换项目android/app目录下的旧文件 - 第四步:清理项目缓存后重新运行
依次执行以下命令:flutter clean flutter pub get
异常场景排查
如果完成上述步骤后还是报错,按以下顺序检查:
- 确认Firebase控制台「身份验证」-「登录方法」页中,Google登录选项处于启用状态
- 确认Android项目
build.gradle中的applicationId和Firebase控制台填写的包名完全一致,无大小写或字符差异 - 如果你通过Google Play商店分发应用且开启了Google Play App Signing,需要把Google Play后台「应用签名」页面给出的SHA1、SHA256也添加到Firebase控制台
内容的提问来源于stack exchange,提问作者arbiter
相关产品推荐
相关产品推荐

