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

CircleCI构建的Android应用Firebase手机认证无法使用如何解决

问题解决步骤

1. 优先排查CircleCI构建签名一致性

该报错:

"This app is not authorized to use Firebase Authentication. Please verify that the correct package name and SHA-1 are configured in the Firebase Console"

90%以上的场景是CI构建使用的签名密钥,和你上传到Firebase的SHA对应的密钥不一致导致的:

  • CircleCI默认环境不存在你本地Android Studio的签名文件(比如默认debug构建用的~/.android/debug.keystore,或者release构建用的正式jks文件),构建时会自动生成临时签名文件,你之前上传的所谓「CircleCI对应SHA」如果不是这个临时文件的,或者你没有在CI中指定固定签名文件,就会出现签名不匹配。
  • 解决方案:将你固定用于构建的签名文件(可以是专门给CI debug用的keystore,或者正式发布的jks)通过CircleCI加密环境变量存储,构建流程中拉取该文件后配置Gradle的signingConfig指向该文件,再用以下命令计算该签名文件的SHA1、SHA256上传到Firebase控制台即可:
    keytool -list -v -keystore 你的签名文件路径 -alias 对应的签名别名

2. 核对google-services.json配置

开启Firebase Gradle插件后,插件会强制校验项目中google-services.json的配置,以下情况也会触发授权错误:

  • CI拉取的代码中google-services.json不是从对应Firebase项目下载的最新版本,缺少你新增的SHA对应配置
  • 构建的应用包名(包含设置的applicationIdSuffix多渠道后缀)和google-services.json中绑定的包名不匹配,需要在Firebase控制台单独添加带后缀的完整包名,再绑定对应SHA

3. 特殊场景补充

如果你使用Google Play App Signing分发应用,除了上传签名文件的SHA之外,还需要上传Google Play控制台「应用签名」页面的应用签名证书SHA1、SHA256到Firebase控制台,避免分发后的安装包出现授权错误。

需要上传到Firebase的SHA清单
  • 本地开发所用所有签名密钥的SHA1、SHA256(本地debug keystore、本地正式签名jks)
  • CircleCI构建所用固定签名密钥的SHA1、SHA256
  • 若使用Google Play App Signing,需补充上传Google Play后台的应用签名证书SHA1、SHA256

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:06:00