【问题标题】:How do I sign my android app bundle with my upload key (without the keystore) in Android Studio?如何在 Android Studio 中使用我的上传密钥(没有密钥库)签署我的 android 应用程序包?
【发布时间】:2019-03-08 22:34:53
【问题描述】:

所以,我已经完成了将签名应用上传到 Playstore、发布它并选择加入托管 Play 商店签名的整个过程,如下所示: https://developer.android.com/studio/publish/app-signing#enroll

作为此过程的一部分,我生成了一个密钥库文件和上传密钥(我都有)。

在上述链接的最后,文章指出:

在您选择加入 Google 应用签名后发布应用时 Play,Google Play 生成并管理您应用的签名密钥 你。只需使用您应用的 在将密钥上传到 Google Play 之前上传密钥。 对我而言,这意味着我将需要上传密钥,而不需要未来版本的密钥库文件。

但是,当我返回 Android Studio 再次构建 app bundle(以便我可以发布另一个版本)时,我选择 Build > Generate Signed Bundle/APK,然后出现如下模式:

问题是,我如何仅使用上传密钥而不使用密钥库文件来生成新的签名应用包?

【问题讨论】:

  • @TWL 事实上,该帖子并没有回答我的问题(它几乎回答了除此之外的所有问题)。我知道如何获取上传密钥(我有)。我的问题是如何专门使用上传密钥(没有密钥库文件)来签署应用程序包以进行上传。
  • 你需要使用你创建的密钥库来保存你的上传密钥——当你说你有上传密钥时,你希望的意思(或至少需要的意思)是您拥有密钥库,并且知道密钥别名和任何密码。然后Play商店将接受您以这种方式签名的apk(如果它是授权密钥)并使用他们代表您持有的分发密钥重新签名。如果您丢失了密钥库,那么这种新方法可以重置上传密钥,而自己签署分发 apk 的旧方法则没有。
  • 另一种看待它的方式是,签署您的 APK 以上传到 Play 商店的过程与过去相比并没有真正改变;不同之处在于,您的签名仅在 Play 商店中验证您,然后他们将其替换为不同的签名,该签名验证应用程序是否适用于具有旧版本或您的其他 apk 的设备,它应该与之共享安全上下文。
  • @ChrisStratton 谢谢,请看我对下面答案的评论(关于什么让我感到困惑)。

标签: android android-studio android-app-bundle


【解决方案1】:

密钥库是私钥的容器。上传密钥在密钥库中中(您的应用签名密钥也是如此)。因此,您需要包含上传密钥的密钥库来签署您的应用程序。

编辑:您可以在此处找到有关不同类型元素的更详细说明:https://support.google.com/googleplay/android-developer/answer/7384423?hl=en-GB

【讨论】:

  • 谢谢,我不明白这怎么可能是真的。我已经存储了我的密钥库文件 .jks - 我还选择了“导出上传密钥”并获得了一个 .pepk。两个单独的文件。此外,当我生成捆绑包时,我需要输入两个单独的密码。一次用于密钥库文件,一次用于上传密钥。我想我只是遗漏了一些东西,它们似乎是两个独立的数据,由两个独立的密码加密......
  • 使用密钥库和导出的密钥。无需导出它,甚至不清楚在您发布的屏幕截图中您将在哪里提供和导出私钥 - 它正在寻找一个密钥库,以及其中的密钥的 name
  • 当您在 Play 管理中心的 App Signing by Play 中注册现有应用(即已发布)时,需要导出的密钥(新应用不需要),以便您可以安全地将密钥传输到 Google。该 .pepk 文件不用于任何其他目的。关于 2 个密码,这是因为整个密钥库受密码保护,并且密钥库中的每个密钥(您可以在密钥库中有多个密钥)也受密码保护(人们经常使用相同的密码,但它没有'不必)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-17
  • 2013-05-09
  • 2011-12-26
  • 2015-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多