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

Flutter应用SHA-1/SHA-256指纹配置及Google登录报错排查

解决Flutter Google登录ApiException: 10错误

一、SHA指纹的正确配置方式

ApiException:10的核心原因是SHA指纹未配置完整,你提到的两组密钥指纹都需要添加到Firebase项目:

  • Upload Key Certificate:这是你本地用于打包上传到Google Play的密钥指纹,不管是测试包还是准备上传的包,只要用这个密钥签名,就必须添加。
  • App signing key certificate:这是Google Play托管的应用签名密钥,线上发布的应用会用这个密钥重新签名,所以必须添加,否则用户下载的正式版会登录失败。

操作步骤:

  • 进入Firebase控制台的项目设置
  • 在「你的应用」板块找到对应Android应用,点击「添加指纹」
  • 分别将两组密钥的SHA-1和SHA-256指纹全部添加进去(每组密钥两个指纹都要填)

二、google-services.json文件问题排查

你提供的json文件存在明显问题:oauth_client数组为空,正常配置Google登录后,这里应该包含对应SHA指纹的OAuth客户端信息。

正确的oauth_client结构示例:

"oauth_client": [
  {
    "client_id": "xxxxxx.apps.googleusercontent.com",
    "client_type": 1,
    "android_info": {
      "package_name": "com.kane.dealdiligence",
      "certificate_hash": "你的SHA-1指纹"
    }
  },
  {
    "client_id": "xxxxxx.apps.googleusercontent.com",
    "client_type": 3
  }
]

修复方法:

  1. 添加完所有SHA指纹后,从Firebase控制台重新下载最新的google-services.json
  2. 替换项目android/app目录下的旧文件
  3. 执行flutter clean清理缓存,再重新运行项目

三、额外注意事项

  • 确认android/app/build.gradle里的applicationId和google-services.json中的package_name完全一致(你的是com.kane.dealdiligence,必须严格匹配)
  • 开发阶段如果用Android Studio默认的调试密钥,也要把调试密钥的SHA-1和SHA-256添加到Firebase。获取调试指纹的命令:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:33:24