配置Google服务应使用App signing key还是upload key证书的SHA-1?
解决Google服务配置中SHA-1选择的困惑
首先明确:你需要同时添加两种SHA-1值到Google Cloud Console的凭据中,不同场景对应不同密钥:
- 本地调试/未上传Google Play的APK:使用本地构建用的debug密钥或upload signing key的SHA-1
- 若用Android Studio直接调试,获取debug密钥SHA-1的命令:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android - 若用upload key签名后本地测试APK,就用upload key的SHA-1
- 若用Android Studio直接调试,获取debug密钥SHA-1的命令:
- Google Play发布后的正式应用:使用App signing key的SHA-1
- 该值可在Google Play Console的「应用签名」页面获取
你设置App signing key后本地APK无法使用Google服务的原因是:本地构建的APK由debug或upload key签名,与App signing key完全不同,Google服务会验证签名SHA-1是否匹配,不匹配则无法正常工作。
由于你已选择Opt-in(启用Google Play应用签名服务),需注意:
- 上传到Google Play的APK必须用upload key签名,Google会自动替换为App signing key重新签名发布
- Google Cloud Console的凭据里,必须同时添加upload key的SHA-1(用于本地测试签名后的APK)、App signing key的SHA-1(用于正式发布应用),以及debug密钥的SHA-1(用于日常调试)
修改凭据后无需重新下载google-services.json,Google服务端会实时生效,建议重启调试环境确保缓存更新。
内容的提问来源于stack exchange,提问作者DevD
相关产品推荐
相关产品推荐

