React Native集成谷歌登录库遇DEVELOPER_ERROR问题求助
检查SHA-1指纹匹配度
确保谷歌控制台中OAuth 2.0客户端ID(包括Android类型和Web类型)关联的SHA-1,与当前构建包(调试/发布)的SHA-1完全一致。调试包可通过命令keytool -list -v -keystore ~/.android/debug.keystore获取(默认密码android),发布包则使用对应的发布密钥库生成。确认客户端ID配置完整性
不要只依赖Web Client ID,必须在谷歌控制台创建Android类型的客户端ID,关联正确的SHA-1和应用包名。Web Client ID仅用于离线令牌获取,Android端的身份验证核心依赖Android客户端ID的配置。验证gradle签名配置
检查android/app/build.gradle中的signingConfigs节点,确保debug和release环境的keystore路径、密码、别名配置正确。如果是调试模式,确认默认的debug keystore路径未被修改。核对应用包名一致性
谷歌控制台客户端ID对应的包名,必须与AndroidManifest.xml中的package属性完全一致,包括大小写。清理项目缓存并重构
执行命令:cd android && ./gradlew clean回到项目根目录后重新运行应用,避免缓存导致的配置不生效问题。
更新设备Google Play服务
测试设备上的Google Play服务版本过旧可能引发验证失败,确保已更新至最新版本。检查OAuth同意屏幕配置
开启offlineAccess后,需确认谷歌控制台的OAuth同意屏幕已配置完成:- 发布状态为“测试中”或“已发布”
- 测试状态下,当前登录的谷歌账号需添加至测试用户列表
内容的提问来源于stack exchange,提问作者Amine Khalifa

