Flutter应用CI/CD构建后Google登录失败(SHA1变更所致)
解决CodeMagic构建Flutter应用Google登录ApiException:10问题
核心原因
你遇到的ApiException: 10错误,本质是Google/Firebase控制台未配置当前CodeMagic构建环境使用的签名证书SHA1指纹,导致身份验证环节不通过。
步骤1:获取CodeMagic构建环境的SHA1指纹
有两种可靠方式获取:
- 从构建日志提取:每次CodeMagic构建时,会在日志中输出签名相关信息,直接搜索
SHA1关键字,就能找到对应格式为大写字母+数字、冒号分隔的指纹字符串。 - 本地导出(自定义密钥库场景):如果你的CodeMagic使用了自定义签名密钥库,本地执行以下命令导出SHA1:
输入密钥库密码后,即可查看SHA1指纹。keytool -list -v -keystore your-keystore-file.jks -alias your-alias-name
步骤2:将SHA1添加到Firebase控制台
- 打开你的Firebase项目控制台,点击右上角齿轮图标进入项目设置。
- 在应用标签下找到对应的Android应用,点击添加指纹按钮。
- 粘贴步骤1获取的SHA1指纹,保存更改。
步骤3:更新项目配置文件
Firebase更新指纹后,重新下载google-services.json文件,替换Flutter项目android/app目录下的旧文件。
- 若使用CodeMagic自动构建,务必确保最新的
google-services.json已提交到代码仓库,或在CodeMagic构建流程中配置自动拉取最新文件的逻辑。
额外注意事项
- 区分调试/发布指纹:如果应用同时有调试和发布构建,需分别将对应环境的SHA1指纹添加到Firebase。
- 清除设备缓存:测试前卸载旧应用或清除应用数据,避免旧配置缓存导致验证失败。
内容的提问来源于stack exchange,提问作者Abdelrahman Tareq
相关产品推荐
相关产品推荐

