使用 Google Play 上传密钥签署 APK

Posted

技术标签:

【中文标题】使用 Google Play 上传密钥签署 APK【英文标题】:Signing an APK with Google Play upload key 【发布时间】:2018-03-01 00:09:27 【问题描述】:

我在 Play 商店中创建了一个测试应用,以测试 Google Play 签名功能。一旦我创建了测试应用程序并启用了该功能,我就可以访问“部署证书”。我没有下载或以任何方式使用它。以下是我遵循的步骤:

    然后使用 android Studio,我创建了一个新的密钥库,给它一个 密码并使用密码创建别名(像往常一样)。 使用在步骤 1 中创建的密钥库对应用程序进行签名 将应用程序上传到 Google Play 商店。 已下载上传密钥证书。添加了上传密钥 使用命令在步骤 1 中创建的密钥库的证书 keytool.exe -importcert -file upload.der -keystore mykeystore.keystore 使用命令检查是否已添加到密钥库 keytool.exe -list -keystore mykeystore.keystore。现在有两个 别名,在步骤 3 中添加的新别名(名为 mykey)。它的类型是受信任的证书。

现在,由于“受信任的证书条目不受密码保护”,没有别名密码,Android Studio 不允许我签署应用程序,当然我不能使用随机密码,因为它们“不受密码保护”。如何使用它来签署我的 apk 以备将来更新?我在这里遗漏了一些重要的东西还是我的理解不正确?

【问题讨论】:

尝试在 -importcert 期间使用 -storepass 您有在第 1 步创建的 Keystore 的备份吗? @nikka 是的,我有。 我认为证书之间存在一些不匹配,否则在将上传密钥证书添加到密钥库时,它会要求替换现有别名。您可以按照此处提到的步骤操作:***.com/a/45749607/2487029. @nikka 实际上它确实要求。但它不会“替换”现有别名。只添加新的。就像您提供的链接中一样 【参考方案1】:

使用上传证书upload_cert.der,而不是应用签名证书deployment_cert.der。您可以在 Google Play Console 中的 App Signing Certificate 下下载它。

【讨论】:

以上是关于使用 Google Play 上传密钥签署 APK的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 应用签名的工作原理

如何为 Google App Signing 生成上传密钥?

无法使用 Google Play 应用签名上传证书更新发布 APK(使用原始密钥库)

Google Play 控制台:丢失了上传 APK 所需的上传密钥

在没有“应用签名”的情况下为 Google Play 商店中的应用设置新的上传密钥

加固后,上传play store, 在 google play store 下载应用安装后,打开签名校验失败