Android端使用react-native-google-signin/google-signin结合EAS构建且未集成Firebase时,Google登录返回DEVELOPER_ERROR问题求助
大家好,我最近在React Native项目里用react-native-google-signin/google-signin做Google登录功能,iOS端测试下来完全正常,但Android端调用GoogleSignin.signIn()的时候,一直返回DEVELOPER_ERROR,卡了好几天了,想请教下有没有遇到过类似问题的朋友,或者有什么我漏掉的配置点?
我的项目是用EAS构建的,而且没有集成Firebase,已经跟着官方文档做了基础的安装和配置,但还是没解决这个错误。下面是我已经排查过的点,以及还存疑的地方:
SHA-1证书指纹的配置:我知道这个是
DEVELOPER_ERROR的高发原因,已经通过eas credentials查看了EAS构建用的签名证书SHA-1,也加到了Google Cloud控制台的Android类型OAuth客户端ID里,但还是不行。不过会不会debug构建和release构建用的证书不一样?我是不是漏加了debug版本的SHA-1?OAuth客户端ID的匹配问题:我在
android/app/src/main/res/values/strings.xml里配置了default_web_client_id,用的是Google Cloud里的Web类型客户端ID,而且Android客户端ID的包名和项目的applicationId完全一致,大小写都核对过了,应该没毛病?EAS构建的签名同步:
eas.json里的构建配置指定了正确的签名凭证,android/build.gradle里也引用了对应的签名配置,不过有没有可能EAS构建时自动用了其他证书,我没同步到Google Cloud?AndroidManifest的配置:已经加了
<uses-permission android:name="android.permission.INTERNET" />权限,也添加了com.google.android.gms.version的元数据,回调的intent-filter也按文档加了,这部分应该没问题?依赖版本冲突:我用的
react-native-google-signin版本是最新的稳定版,和当前React Native版本是兼容的,但会不会com.google.android.gms:play-services-auth的依赖有冲突?要不要在android/build.gradle里统一指定这个依赖的版本?
另外,Google Cloud的OAuth consent screen我已经设置为测试状态,并且添加了测试用的Google账号,应该不是这个的问题?
有没有朋友遇到过EAS构建+无Firebase场景下的这个错误?求指点一下,实在是卡得没头绪了😭
内容来源于stack exchange

