You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter接入Firebase谷歌登录Android端报ApiException:10错误如何解决?

com.google.android.gms.common.api.ApiException: 10 错误本质是谷歌服务端校验应用身份不通过导致的,排除你已经尝试的操作后,可按以下方向排查:

  • 重新下载google-services.json文件
    你在Firebase控制台添加完所有SHA密钥后,必须重新下载最新的google-services.json替换项目中android/app/目录下的旧文件,再执行flutter clean重新构建。Firestore能正常访问不代表该文件包含谷歌登录所需的最新OAuth客户端配置,因为Firestore的访问不需要关联签名密钥的OAuth校验。
  • 确认签名密钥与构建配置完全对应
    1. 检查android/app/build.gradle中的signingConfigs配置,确认debug、release模式分别使用的keystore文件路径、别名、密码完全正确
    2. 重新提取对应keystore的SHA-1、SHA-256值,和Firebase控制台配置做二次核对,避免提取时选错keystore或者输错密钥库密码导致拿到错误的哈希值
    3. 如果你已经将应用发布到Google Play商店且开启了Google Play应用签名,需要将Google Play控制台→应用完整性→应用签名下的SHA-1、SHA-256也添加到Firebase控制台
  • 完成OAuth同意屏幕配置
    1. 进入Google Cloud控制台对应项目的API和服务→OAuth同意屏幕页面
    2. 如果你是测试阶段,必须将你测试用的谷歌账号添加到「测试用户」列表中,未在列表内的账号登录会直接返回10错误
    3. 如果是正式对外的应用,需要将OAuth同意屏幕的发布状态改为正式,按要求完成信息填写并提交审核
  • 检查谷歌登录初始化参数
    如果你在初始化GoogleSignIn时手动指定了serverClientId参数,必须确认该参数值是Google Cloud控制台中「Web应用」类型的OAuth客户端ID,错误传入Android类型的客户端ID会直接触发10错误。
  • 排查依赖版本兼容性
    将pubspec.yaml中的firebase_auth、google_sign_in依赖升级到最新稳定版本,避免版本不兼容导致的认证流程异常
  • 验证测试环境GMS可用性
    测试使用的设备或模拟器必须安装有完整且版本符合要求的Google Play服务,无GMS的国产设备、GMS版本过低的设备都会触发该错误,可更换谷歌官方自带Google Play的Android模拟器复测
  • 清理无效OAuth客户端ID
    进入Google Cloud控制台对应项目的API和服务→凭据页面,删除所有包名和当前应用一致、但签名哈希不匹配的Android类型OAuth客户端ID,只保留和Firebase控制台配置一致的条目

内容的提问来源于stack exchange,提问作者Crystal-cat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:06:02