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

Flutter应用发布至Play Store后Google登录失效问题排查

Flutter Firebase Google登录Play Store发布后ApiException: 10 解决方案

核心解决:正确配置SHA密钥

由于你使用了Google应用签名服务,必须同时配置两类密钥的SHA指纹到Firebase,缺一不可:

需要添加的密钥类型

  1. 应用签名密钥的SHA1/SHA256:Play Store用于签名最终发布APK的官方密钥,这是发布版失效的核心影响因素
  2. 上传密钥的SHA1/SHA256:你本地用来签名上传APK的upload-keystore.jks密钥,本地调试/Release正常依赖该密钥

获取方式

1. 获取应用签名密钥指纹

  • 登录Play Console,进入目标应用
  • 左侧菜单选择「应用完整性」→「应用签名」
  • 在「应用签名证书」区域,复制SHA1和SHA256的完整值

2. 获取上传密钥指纹

执行以下keytool命令(替换为你的密钥路径和别名):

keytool -list -v -keystore /your/path/upload-keystore.jks -alias your-key-alias

输入密钥库密码后,从输出中复制SHA1和SHA256值

配置步骤

  • 打开Firebase控制台,进入项目设置→目标Android应用→「添加指纹」
  • 将上述两类密钥的SHA1、SHA256全部添加进去
  • 重新下载google-service.json,替换到Flutter项目的android/app目录下
  • 重新构建发布APK并上传至Play Store

其他排查思路

  1. 验证google-service.json正确性

    • 检查文件中的package_name是否与Play Console的应用包名完全一致
    • 确保文件是从Firebase对应Android应用下载的,未混用其他应用的配置
  2. 检查Google Cloud Console OAuth配置

    • 登录Google Cloud Console(与Firebase关联的项目)
    • 进入「API和服务」→「凭据」
    • 找到安卓类型的OAuth 2.0客户端ID,确认其包名和SHA1与Play Store应用签名密钥的SHA1完全匹配
    • 确保已启用Google+ API(部分旧版google_sign_in插件依赖)
  3. 验证发布APK的签名指纹

    • 从Play Console内部测试渠道下载已发布的APK
    • 执行命令查看APK签名指纹:
      keytool -printcert -jarfile /path/to/downloaded/app.apk
      
    • 对比输出的SHA值与Firebase中添加的应用签名密钥是否一致
  4. 更新插件版本

    • 确保pubspec.yaml中的google_sign_in和firebase_auth为最新稳定版,避免版本兼容问题
  5. 检查测试账号权限

    • 若使用内部测试渠道,确认测试账号已添加到Firebase项目的授权测试用户列表中

内容的提问来源于stack exchange,提问作者Diák Dezső

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:35:24