Firebase无法添加发布密钥库SHA1,Google登录发布版报错求解决方案
解决Google登录Release APK报错DEVELOPER_ERROR及Firebase添加SHA1权限问题
我来帮你一步步搞定这个问题,这种情况我碰到过好几次,主要从权限验证、SHA1正确性、项目配置这几个核心方向入手:
先解决Firebase添加SHA1时的「Your operation was forbidden」权限问题
这是当前最紧急的卡点,得先把权限问题打通:
- 检查你在Firebase项目的角色:确保你是项目的Owner或者Editor角色,Viewer权限只能查看不能修改配置。去Firebase控制台的「项目设置」→「用户和权限」里查看自己的角色,如果权限不够,找项目管理员给你升级权限就行。
- 关联的Google Cloud项目权限也要确认:Firebase项目绑定了对应的Google Cloud项目,有时候Cloud侧的权限会限制操作。去Google Cloud控制台(和Firebase同项目)的「IAM与管理员」里检查你的权限,同样需要至少Editor权限。
- 试试清除浏览器缓存或换无痕窗口:有时候浏览器缓存导致权限验证异常,换个无痕模式或者清除缓存后再操作,大概率能解决这个禁止操作的问题。
确保Release SHA1的正确性,别用Debug的凑!
就算权限搞定了,SHA1错了也白搭,一定要拿到Release包对应的正确SHA1:
- 从签名keystore文件获取:用命令行执行下面的命令(替换成你的文件路径和别名):
keytool -list -v -keystore 你的签名文件路径.jks -alias 你的签名别名
输入keystore密码后,就能看到SHA1值,复制的时候别手滑多打空格或者漏字符。 - 用Android Studio快速获取:打开项目的「Gradle」面板,找到app模块→Tasks→android→
signingReport,执行这个任务后,在控制台输出里找「Release」对应的SHA1值,这个方法更不容易出错。
权限和SHA1搞定后,收尾配置不能少
- 下载最新的
google-services.json:添加完Release SHA1后,去Firebase控制台的「项目设置」→「你的应用」里下载最新的配置文件,替换项目里原来的旧文件,然后重新构建Release包。 - 检查签名配置是否正确:在app模块的build.gradle里,确保Release构建类型正确引用了签名配置,比如:
android { signingConfigs { release { storeFile file("xxx.jks") // 你的签名文件路径 storePassword "你的store密码" keyAlias "你的别名" keyPassword "你的key密码" } } buildTypes { release { signingConfig signingConfigs.release minifyEnabled true // 如果开了混淆,还要确保Google登录的类没被混淆 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } - 混淆配置(如果开了混淆):如果你的Release包开启了代码混淆,要在proguard-rules.pro里添加Google登录的混淆规则,避免核心类被混淆:
-keep class com.google.android.gms.auth.api.** { *; } -keep class com.google.android.gms.common.api.** { *; }
特殊情况排查:Google Cloud API是否启用
有时候Firebase配置对了,但Google Cloud侧的相关API被禁用了也会报错:
去Google Cloud控制台搜索「Google Sign-In API」和「Google Identity Toolkit API」,确保这两个API是启用状态,如果没启用,点击启用按钮即可。
内容的提问来源于stack exchange,提问作者Aspl Test
相关产品推荐
相关产品推荐

