39

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

我做了什么

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

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

上传失败您上传了一个使用密钥签名的 APK,该密钥也用于签署交付给用户的 APK。由于您已注册 App Signing,因此您应该在上传 APK 之前使用新密钥对其进行签名。

有什么问题

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

我试图做的

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

谁能帮我?

4

5 回答 5

57

我刚刚经历了这个令人筋疲力尽的过程。我使用的是 React Native,所以我什至从不使用 Android Studio,除非我需要启动虚拟设备。我正在为我自己和其他任何因这次经历而受到创伤的人记录下来。这明确用于“上传密钥”选项。谷歌随后将其在 Play 上换掉,因此您不必真正负责确保自己不会丢失唯一一把通往财富的钥匙。

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

首先转到菜单中的“构建”:

在此处输入图像描述

将出现此窗口:

在此处输入图像描述

点击“新建...”

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

在此处输入图像描述

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

在此处输入图像描述

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

这将带您回到上一个对话框。填写之前的密码,然后单击“下一步”。

在此处输入图像描述

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

在此处输入图像描述

在您的开发人员面板中转到此页面。单击“编辑版本”。这是假设您已经设置了 beta 或 alpha 版本。(这里没有介绍。)

在此处输入图像描述

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

在此处输入图像描述

谷歌,请在某处记录此过程!安息吧!

于 2017-10-19T22:40:21.033 回答
16

在最新版本的 Android Studio 中创建一个签名包,像往常一样使用 jks 签名您的应用程序

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

默认情况下,您的私钥将导出到 ~/.android/private_key.pepk。

  1. 默认情况下,您的私钥将导出到 ~/.android/private_key.pepk。
于 2018-10-22T15:07:05.383 回答
12

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

在此处输入图像描述

在我上传了一个签名密钥并按下完成后,它说现在我有一个上传密钥,即使我还没有创建一个,我也可以继续使用。

在此处输入图像描述

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

希望这可以帮助某人。

于 2019-02-14T10:27:45.540 回答
9

根据帮助页面

上传密钥:您在注册程序期间生成的新密钥。您将使用上传密钥签署所有未来的 APK,然后再将它们上传到 Play 管理中心。

因此,它只是您使用现有流程生成的新密钥。

于 2017-05-20T21:28:22.647 回答
5

您提到的 Android 开发者页面(签署 APK)清楚地列出了如何使用 Android Studio 生成密钥。请注意生成密钥和密钥库部分。

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

于 2017-05-20T22:07:40.240 回答