Android端React Native Expo项目Release版本Google登录失效问题
解决方案:修复EAS构建Release包的Google登录失败问题
核心问题是你用于EAS Release构建的签名密钥SHA1未添加到Google OAuth客户端配置中,以下是分步修复步骤:
1. 获取EAS构建使用的正确SHA1指纹
情况1:EAS Managed 构建
- 运行命令:
按提示选择你的Android项目,即可查看发布证书的SHA1指纹;也可以直接登录Expo控制台,进入项目的「Credentials」页面查看Android签名凭证里的SHA1。eas credentials
情况2:EAS Bare 构建
- 找到你用于发布构建的keystore文件(你自己生成的密钥对文件),执行以下命令获取SHA1:
输入密钥库密码后,即可得到发布版的SHA1值。keytool -list -v -keystore <你的发布keystore文件路径>
2. 更新Google Cloud控制台的OAuth配置
- 打开Google Cloud控制台,进入你的项目,导航到「API和服务」→「凭据」。
- 找到对应的Android OAuth客户端ID,点击编辑。
- 在「SHA-1证书指纹」栏,添加你刚获取的发布版SHA1(如果已有debug的SHA1,保留即可,一个客户端可以添加多个指纹)。
- 保存修改。
3. 更新Firebase配置
- 登录Firebase控制台,进入项目设置→「应用」→你的Android应用。
- 添加上述发布版SHA1到「SHA证书指纹」列表。
- 重新下载
google-services.json文件,替换项目中对应的文件。
额外注意事项
- 开发模式和Release模式使用不同的签名密钥,两者的SHA1都需要添加到Google和Firebase配置中,避免环境冲突。
- 如果是EAS自动生成的签名密钥,必须使用Expo提供的SHA1,不要用本地debug keystore的指纹。
- 确保测试设备上没有同时安装debug版和release版APP,避免签名校验冲突。
内容的提问来源于stack exchange,提问作者Kruger
相关产品推荐
相关产品推荐

