非Expo React Native Android结合Strapi配置Google登录遇开发者错误
解决React Native安卓Google登录DEVELOPER_ERROR问题
核心排查与修复步骤
1. 校验Google Cloud客户端配置
- 确认Android客户端的SHA-1指纹:调试版用默认
debug.keystore生成,执行命令:keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore(Windows路径为C:\Users\<你的用户名>\.android\debug.keystore),密码默认android;发布版用打包用的keystore指纹,确保两者都已添加到Google Cloud对应客户端。 - 核对Android客户端的包名与项目
android/app/build.gradle内的applicationId完全一致,大小写、字符均不能出错。 - 前端初始化
@react-native-google-signin/google-signin时必须配置Web Client ID(用于后端Strapi验证),示例代码:
import { GoogleSignin } from '@react-native-google-signin/google-signin'; GoogleSignin.configure({ webClientId: '你的Web客户端ID.apps.googleusercontent.com', offlineAccess: false, });
2. 配置Web客户端重定向URI
在Google Cloud控制台的Web客户端设置中,添加Strapi的验证回调地址:
- 本地开发环境:
http://localhost:1337/connect/google/callback - 生产环境:
http://<你的Strapi域名>/connect/google/callback
3. 安卓项目配置补全
- 在
android/build.gradle的buildscript.dependencies中添加Google服务插件:
classpath 'com.google.gms:google-services:4.3.15'
- 在
android/app/build.gradle末尾添加:
apply plugin: 'com.google.gms.google-services'
- 确保依赖包含Google Play服务auth库:
dependencies { implementation 'com.google.android.gms:play-services-auth:20.7.0' }
4. 清理缓存并重建项目
- 清除React Native缓存:
npx react-native start --reset-cache - 清理安卓构建缓存:
cd android && ./gradlew clean - 重新构建项目:
npx react-native run-android
5. 额外排查点
- 确保测试设备上的Google Play服务已更新至最新版本
- 若使用发布包,确认Google Cloud的Android客户端已添加发布keystore的SHA-1指纹
内容的提问来源于stack exchange,提问作者JohnP
相关产品推荐
相关产品推荐

