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

Firebase谷歌登录报错sign_in_failed(ApiException:10):模拟器异常但真机正常

Google Play应用谷歌登录模拟器报错ApiException:10,真机正常的解决方法

问题情况

已上架Google Play的应用,谷歌登录功能在真实物理设备上可正常使用,但在模拟器中运行时抛出错误:

PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null, null)

已尝试的排查操作

  • 执行flutter clean和flutter pub get命令
  • 卸载应用后重新安装运行
  • 核对Play控制台与本地的SHA密钥,确认完全一致
  • 重新下载并替换google-services.json文件

针对性解决方案

ApiException:10本质是OAuth验证失败,结合模拟器的特殊运行场景,可尝试以下操作:

  1. 使用带完整Google Play服务的模拟器镜像
    避免使用默认无Google Play的系统镜像,创建模拟器时选择带有「Google Play」标识的版本。打开模拟器内的Google Play应用,将所有服务更新至最新——旧版本服务常引发登录验证失败问题。

  2. 检查模拟器的Google账号状态
    确保模拟器登录的是与应用OAuth配置绑定的测试账号,且账号未被谷歌限制。可尝试退出账号后重新登录,或更换其他测试账号测试。

  3. 添加debug SHA1至Play控制台
    上架应用使用的是release SHA,但模拟器运行的是debug包,需将本地debug版本的SHA1密钥添加到Play控制台的OAuth配置中:

    • 执行命令获取debug SHA1:keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    • 登录Play控制台,进入应用的「API服务」-「凭据」,找到对应OAuth客户端ID,添加该debug SHA1并保存,等待10分钟左右再测试。
  4. 确认模拟器可正常访问Google服务
    谷歌登录依赖外网访问Google服务,检查模拟器是否被代理、防火墙拦截。可在模拟器浏览器中打开accounts.google.com,确认能正常访问后再测试登录功能。

  5. 优先使用Android Studio官方模拟器
    第三方模拟器常存在Google服务兼容性问题,尽量使用Android Studio自带的官方模拟器,稳定性更有保障。

内容的提问来源于stack exchange,提问作者Harshana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 07:08:15