React Native谷歌登录触发Developer Error异常求助
解决React Native谷歌登录
com.google.android.gms.common.api.ApiException: DEVELOPER_ERROR问题 Android端核心排查步骤
- SHA-1指纹必须完全匹配
- 用命令获取调试签名的SHA-1:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android(Windows路径是C:\Users\<你的用户名>\.android\debug.keystore) - 对比GCP中Android OAuth凭证的SHA-1,字符、大小写必须完全一致,多空格少符号都不行
- 用命令获取调试签名的SHA-1:
- 包名与凭证绑定要精准
检查GCP Android凭证的包名,和你项目android/app/src/main/AndroidManifest.xml里的package值完全一致,包括大小写 - 别用错客户端ID
代码里配置的Android客户端ID必须是GCP中专门创建的Android类型凭证ID,Web端能用的ID不能直接给Android用 - 依赖与服务版本要适配
- 确保手机上的Google Play服务是最新版
- 检查
android/build.gradle的Google服务依赖:dependencies { classpath 'com.google.gms:google-services:4.3.15' } android/app/build.gradle添加登录依赖:implementation 'com.google.android.gms:play-services-auth:20.7.0'
代码配置检查
- 初始化谷歌登录时必须指定Android客户端ID:
import { GoogleSignin } from '@react-native-google-signin/google-signin'; GoogleSignin.configure({ androidClientId: '<你的Android客户端ID>', // 核心配置项 webClientId: '<你的Web客户端ID>', // 仅用于跨平台验证,不能替代Android ID scopes: ['email', 'profile'], }); - 捕获错误时打印错误码,方便进一步定位:
try { await GoogleSignin.signIn(); } catch (error) { console.log('登录错误码:', error.code, '信息:', error.message); }
内容的提问来源于stack exchange,提问作者Pokemon Hacker
相关产品推荐
相关产品推荐

