Firebase认证授权失败求助:尝试多种方法仍无法解决
检查SHA-1是否覆盖debug和release版本:调试阶段默认用debug keystore,别只加release的SHA-1。用下面的命令获取debug密钥的SHA-1:
- macOS/Linux:
keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore - Windows:
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
把这个值也加到Firebase控制台的应用配置里。
- macOS/Linux:
确认包名完全一致:注意大小写和字符,AndroidManifest.xml里的
package字段必须和Firebase控制台填写的包名丝毫不差,比如com.test.myapp和com.test.MyApp是两个不同的包名。重新下载
google-services.json:修改包名或SHA-1后,一定要从Firebase控制台重新下载这个文件,替换app模块下的原文件,然后执行Clean Project再Rebuild Project。核对自定义keystore的SHA-1:如果用了自己的keystore打包,确保获取SHA-1时用的是当前构建用的keystore,命令格式:
keytool -list -v -keystore 你的keystore文件路径 -alias 你的密钥别名,把得到的SHA-1同步到Firebase。检查项目依赖配置:项目级build.gradle要确保添加了Firebase插件依赖,app级build.gradle要应用
com.google.gms.google-services插件,并且com.google.firebase:firebase-auth的版本和其他Firebase依赖保持兼容。清除应用缓存或重装:旧的缓存可能导致验证逻辑异常,直接卸载应用再重装,或者在系统设置里清除应用数据后再测试。
内容的提问来源于stack exchange,提问作者Atom harsu

