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

Android Firebase Google登录需添加各设备SHA-1,问题排查求助

问题解决指南:Firebase Google登录团队协作SHA-1问题

核心原因

团队成员的Android模拟器使用的是本地Android Studio默认生成的debug密钥库,而非项目统一的签名密钥,导致每个人的debug包签名SHA-1不一致,必须单独添加到Firebase控制台才能登录。实体机无需添加的原因是:USB调试安装时,部分设备/Google Play服务会兼容非统一签名的调试包,但模拟器会严格校验签名匹配。

解决方案

1. 创建并共享项目统一的debug密钥库

  • 生成专属项目的debug密钥库(不要用Android Studio默认的~/.android/debug.keystore):
    keytool -genkey -v -keystore app/debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000
    
  • 将生成的debug.keystore放到项目的app目录下,提交到版本控制(确保密钥密码安全共享给团队成员)。

2. 配置Gradle强制使用统一debug签名

在app/build.gradle中添加签名配置,让所有成员构建debug版本时自动使用统一密钥:

android {
    signingConfigs {
        debug {
            storeFile file('debug.keystore')
            storePassword 'android' // 替换为你设置的密钥库密码
            keyAlias 'androiddebugkey' // 替换为你的密钥别名
            keyPassword 'android' // 替换为你的密钥密码
        }
        release {
            // 保留原有的release签名配置
        }
    }

    buildTypes {
        debug {
            signingConfig signingConfigs.debug
            // 其他debug构建配置
        }
        release {
            signingConfig signingConfigs.release
            // 其他release构建配置
        }
    }
}
  • 提交修改后的build.gradle到版本控制,确保所有成员同步配置。

3. 更新Firebase控制台并同步配置

  • 提取统一debug密钥库的SHA-1/SHA-256:
    keytool -list -v -keystore app/debug.keystore -alias androiddebugkey -storepass android -keypass android
    
  • 将提取到的SHA值添加到Firebase控制台的项目设置中,下载最新的google-services.json替换项目中的文件,提交到版本控制。

验证

团队成员同步项目代码后,构建debug版本到模拟器,无需再添加个人设备的SHA-1即可正常完成Google登录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:15:35