如何启用 Google Play 应用签名

新手上路,请多包涵

我认为很多开发人员都在尝试更多地了解 Google I/O 2017 上展示的新 Google Play 应用签名功能。

存储密钥库以在 Google Play 中对应用程序进行签名的能力可以节省您安全存储密钥库的工作,并且可以帮助系统根据硬件和操作系统特性优化提供给每个设备的 APK。

您可以在此处的官方文档中阅读有关此主题的更多信息: https ://developer.android.com/studio/publish/app-signing.html#google-play-app-signing。

通过以下答案,我将更好地解释上传原始密钥库所需遵循的步骤以及如何创建新的上传密钥库,从此时起您需要对 APK 进行签名。

原文由 MatPag 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

_在继续观看此 Android 开发人员视频以了解您的应用签名注册选择的含义之前: https ://youtu.be/odv_1fxt9BI_

本指南面向已在 Play 商店中拥有应用程序的开发人员。如果您开始使用新应用程序,则过程会容易得多,您可以按照 此处 的“新应用程序”段落的指南进行操作

99% 的开发人员已经具备的先决条件

  1. 安卓工作室

  2. JDK 8 和安装后,您需要在用户空间中设置环境变量以简化终端命令。在 Windows x64 中,您需要将 C:\Program Files\Java\{JDK_VERSION}\bin 添加到 Path 环境变量中。 (如果您不知道如何执行此操作,可以阅读我的指南以 将文件夹添加到 Windows 10 Path 环境变量)。

第 0 步:打开 Google Play 开发者控制台,然后转到 Release Management -> App Signing

在此处输入图像描述

接受应用签名服务条款。

在此处输入图像描述

第 1 步:点击与下图相同的按钮下载 PEPK 工具

在此处输入图像描述

第 2 步:打开终端并输入:

java -jar PATH_TO_PEPK –keystore=PATH_TO_KEYSTORE –alias=ALIAS_YOU_USE_TO_SIGN_APK –output=PATH_TO_OUTPUT_FILE –encryptionkey=GOOGLE_ENCRYPTION_KEY

传奇:

  • _PATH_TOPEPK = 您在 步骤 1 中下载的 pepk.jar 的路径,对于 Windows 用户,可能类似于 C:\Users\YourName\Downloads\pepk.jar
  • _PATH_TOKEYSTORE = 用于签署发布 APK 的密钥库的路径。可以是 *.keystore 或 *.jks 类型的文件或不带扩展名的文件。类似于 C:\Android\mykeystoreC:\Android\mykeystore.keystore 等…
  • _ALIAS_YOU_USE_TO_SIGNAPK = 您用于签署发行版 APK 的别名。
  • _PATH_TO_OUTPUTFILE = 扩展名为 .pem 的输出文件的路径,类似于 C:\Android\private_key.pem
  • _GOOGLE_ENCRYPTIONKEY = 此加密密钥应始终相同。您可以在 App Signing 页面中找到它,复制并粘贴它。应该是这种形式: eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

例子:

java -jar “C:\Users\YourName\Downloads\pepk.jar” –keystore=“C:\Android\mykeystore” –alias=myalias –output=“C:\Android\private_key.pem” –加密密钥=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

按 Enter 键,您需要按顺序提供:

  1. 密钥库密码
  2. 别名密码

如果一切顺利,您现在将在 PATH_TO_OUTPUT_FILE 文件夹中有一个名为 private_key.pem 的文件。

第 3 步:上传 private_key.pem 文件,点击与下图相同的按钮

在此处输入图像描述

第 4 步:使用 Android Studio 创建一个新的密钥库文件。

您将来将需要此密钥库来签署您的应用程序的下一个版本,不要忘记密码

打开您的一个 Android 项目(随机选择一个)。转到 Build -> Generate Signed APK 并按 Create new

在此处输入图像描述

现在您应该填写必填字段。

密钥库路径代表您将创建的新密钥库,使用右侧的 3 个点图标选择文件夹和名称,我选择了 C:\Android\upload_key.jks (将自动添加.jks 扩展名)

注意:我使用 upload 作为新的别名,但如果您之前使用具有不同别名的相同密钥库来签署不同的应用程序,您应该选择之前在原始密钥库中使用的相同别名。

在此处输入图像描述

完成后按 OK,现在您将拥有一个新的 upload_key.jks 密钥库。您现在可以关闭 Android Studio。

第 5 步:我们需要从新创建的 upload_key.jks 密钥库中提取上传证书。打开终端并输入:

keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS -file PATH_TO_OUTPUT_FILE

传奇:

  • _UPLOAD_KEYSTOREPATH = 您刚刚创建的上传密钥库的路径。在这种情况下是 C:\Android\upload_key.jks
  • _UPLOAD_KEYSTOREALIAS = 与上传密钥库关联的新别名。在这种情况下是 upload
  • _PATH_TO_OUTPUTFILE = 带有 .pem 扩展名的输出文件的路径。类似于 C:\Android\upload_key_public_certificate.pem 的东西。

例子:

keytool -export -rfc -keystore “C:\Android\upload_key.jks” -别名上传 -file “C:\Android\upload_key_public_certificate.pem”

按 Enter 键,您将需要提供密钥库密码。

现在,如果一切正常,您将在 PATH_TO_OUTPUT_FILE 文件夹中有一个名为 upload_key_public_certificate.pem 的文件。

第6步:上传 upload_key_public_certificate.pem 文件点击与下图相同的按钮

在此处输入图像描述

第 7 步:点击 App Signing 页面末尾的 ENROLL 按钮。

在此处输入图像描述

现在,每个新发布的 APK 都必须使用 upload_key.jks 密钥库和在 第 4 步 中创建的别名进行签名,然后才能上传到 Google Play 开发者控制台。

更多资源:

问答

问:当我上传使用新的 upload_key 密钥库签名的 APK 时,Google Play 显示如下错误: 您上传了未签名的 APK。您需要创建一个签名的 APK

答:在构建发布版 APK 时,检查以使用两个签名(V1 和 V2)对 APK 进行签名。阅读 此处 了解更多详情。

更新

第 4、5、6 步是创建上传密钥,这对于现有应用程序是可选的

“上传密钥(现有应用可选):您在注册程序期间生成的新密钥。您将使用上传密钥签署所有未来的 APK,然后再将它们上传到 Play 管理中心。” https://support.google.com/googleplay/android-developer/answer/7384423

原文由 MatPag 发布,翻译遵循 CC BY-SA 4.0 许可协议

对于更新的 Google 控制台,请转到内部设置并打开应用程序完整性。并在此处上传您的密钥。你会很高兴的。

更新的谷歌控制台的屏幕截图

原文由 Kapil Bansal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题