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

How to generate an upload key for Google App Signing?

我目前正在努力使用上传密钥,这是签署 APK 以将其发布到 Google Play 的新方法。

我做了什么

  1. 我创建了一个新的应用程序,现在应该在 Play 商店上架了。
  2. 我在 Play 控制台上创建了一个应用条目。
  3. 然后我激活了Google Play App Signing
  4. 我上传了带有普通密钥库文件的签名 APK。

然后我从上传对话框中收到以下错误消息。

Upload failed You uploaded an APK that is signed with a key that is also used to sign APKs that are delivered to users. Because you are enrolled in App Signing, you should sign your APK with a new key before you upload it.

有什么问题

我没有找到任何东西来上传 upload key 或如何生成这样的东西。上传密钥是否等于密钥库文件?

我尝试过的事情

然后我查看了应用程序签名的文档here。但我不明白如何创建此上传密钥并将其发送 Google.

谁能帮帮我?

根据 Help Page:

Upload key: A new key you generate during your enrollment in the program. You will use the upload key to sign all future APKs prior to uploading them to the Play Console.

所以这只是您使用现有流程生成的新密钥。

您提到的 Android 开发者页面(Sign an APK) clearly lays out how to generate a key using Android Studio. Notice the Generate a key and keystore 部分。

upload key 在创建方式上没有什么不同。只是目的使它与签名密钥不同。上传密钥仅用于将 APK 上传到 Google 服务器,以便他们可以对您进行身份验证。 Google 然后为您进行实际的应用程序签名。

我刚刚经历了这个令人筋疲力尽的过程。我正在使用 React Native,所以我什至从不使用 Android Studio,除非我需要启动虚拟设备。我正在为自己和任何因这次经历而受到创伤的人记录下来。这是明确针对 'Upload Key' 选项的。 Google 然后在 Play 上将其换掉,这样您就不必真正负责确保您不会丢失唯一的财富钥匙。

在 Android Studio 中打开 React Native 项目中的 'android' 文件。构建它并做任何你必须做的事情,以便它为你提供生成 APK(未签名或其他)的选项。您也可以从此处将其 运行 放在 VD 或 phone 上(如果已附加)。我必须进行更新才能构建它,因此您可能需要做同样的事情。

首先转到菜单中的'Build':

这个window会出现:

点击'Create new...'

会出现这样的对话框。填写您的信息。请注意,有两个单独的密码。记住你以后放在那里的东西。

转到您要存储密钥的地方。在 React Native 中,MyApp > android > app 中已经有一个名为 'keystores' 的文件夹。通过单击“...”按钮选择它作为密钥存储路径。

输入您想要的密钥名称。我给它取了与应用程序相同的名称。

这将使您返回到上一个对话框。填写之前的密码,然后点击'Next'。

这将带您进入此对话框,您可以在其中选择放置 apk 的位置。默认情况下,在 React Native 中它转到 MyApp > android > app > app-release.apk。单击这两个复选框,否则您将不得不更改一些配置,否则 Google Play 将拒绝它。他们一开始是未经检查的。

转到开发人员面板中的此页面。单击 'Edit Release'。这是假设您已经设置了 Beta 或 Alpha 版本。 (这里不涉及。)

这会将您带到此页面。将您的 apk 拖放到此处或使用按钮上传。

拜托,Google,在某个地方记录这个过程!平安!

  1. 在最新版本的 Android Studio 中创建一个签名包,像往常一样使用 jks 为您的应用签名,除了选中“导出加密密钥”。

  1. 您的私钥将默认导出到 ~/.android/private_key.pepk.

对我来说,截至 2019 年 2 月的体验有所不同。 上传签名密钥时,我没有完成可选的上传密钥部分,因为它说我可以稍后完成此步骤。

在我上传签名密钥并按下“完成”后,它说现在我有一个上传密钥,我可以开始了,尽管我还没有创建一个。

我花了一些时间才看到签名证书和上传证书的指纹是相同的,即 Google 已经默默地将我的签名密钥注册为上传密钥。

希望这对某人有所帮助。