如何解决仅本人可使用Google登录的SHA1调试密钥库问题?
解决Android Google登录仅个人可登录的问题
针对你遇到的问题,核心是Google Cloud项目的Android客户端仅绑定了你本地debug keystore的SHA1,以下是两种更优的解决方案:
方案1:添加同事的debug SHA1到Google Cloud项目
让每个同事生成自己本地debug keystore的SHA1,然后将这些SHA1添加到Google Cloud的Android客户端配置中:
- 生成SHA1的命令(不同系统路径略有差异):
- Mac/Linux:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android - Windows:
keytool -list -v -keystore C:\Users\<你的用户名>\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
- Mac/Linux:
- 让同事复制输出的SHA1值,你可以将这些值添加到Google Cloud项目的「API和服务」→「凭据」→「OAuth 2.0 客户端ID」对应的Android客户端中,或者给同事分配项目的编辑权限让他们自行添加。
- 注意:添加SHA1后,Google Cloud可能需要几分钟同步生效。
方案2:统一项目的debug签名配置
创建一个共享的debug keystore,配置到项目的构建脚本中,让所有同事构建debug包时使用同一个签名,这样只需要在Google Cloud添加一次该keystore的SHA1即可:
- 生成一个专门的debug keystore(不要用你个人的),可以用以下命令:
keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 - 将生成的
debug.keystore放到项目的app目录下,提交到版本控制(确保团队所有人都能获取)。 - 在Module级别的
build.gradle文件中添加签名配置:android { signingConfigs { debug { storeFile file("debug.keystore") storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } } buildTypes { debug { signingConfig signingConfigs.debug } } } - 同步项目后,所有同事构建的debug包都会使用这个统一的签名,对应的SHA1只需在Google Cloud添加一次即可。
如果你的项目关联了Firebase,记得也要将对应的SHA1添加到Firebase项目的设置中,确保登录功能正常。
内容的提问来源于stack exchange,提问作者Leon1403
相关产品推荐
相关产品推荐

