问题描述
我试图了解 Play 应用签名的签名过程。 因此有几个问题。
- 我正在使用谷歌地图 API,为什么我需要在控制台上添加应用签名密钥证书的 SHA-1 证书指纹?为什么我不能使用在我的电脑本地生成的 SHA 1?
- 我需要如何处理从发布中生成的 provate_key.pepk?
- deployment_cert.der 的目的是什么?
- upload_cert.der 的目的是什么?
你能解释一下签署应用程序的正确过程以及如何使用它吗?
还有here
现有应用->第 2 步->5 Syas:选择最适合您的发布流程的导出和上传选项并上传现有应用签名密钥。
我没有看到上传现有应用签名密钥的选项...
解决方法
Play 商店中的应用签名流程如下所示,
Google Play 签名使用两个密钥。
- 上传密钥
- 应用签名密钥
上传密钥
TL;DR:Google 使用此密钥来识别 apk/bundle 的上传者
此密钥用于在上传到 Play 商店时对 apk/bundle 进行签名。此密钥让 Android 知道应用更新是真实的并且来自原作者。
upload_cert.der
是上传密钥的公钥。
应用签名密钥
此密钥用于对安装在用户设备中的 APK 进行签名。您可以让 Google 管理密钥
deployment_cert.der
是应用签名密钥的公钥。
所以回答你的问题,
-
如果您的设备正在运行使用
upload key
(开发者密钥)签名的应用程序,API 控制台中的指纹应与upload key
匹配,如果您设备中的应用程序使用签名,则反之亦然App Signing key
,你需要有相同的指纹。通常,从 android studio 构建的签名 apks/bundle 使用您选择的upload key
签名。从 Play 商店安装的应用使用App Signing Key
。 -
注意安全,这是 Google 在推送更新时识别作者所必需的。
-
查看
App Signing Key
部分 -
查看
Upload Key
部分