我认为很多开发人员都在尝试更多地了解 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 许可协议
_在继续观看此 Android 开发人员视频以了解您的应用签名注册选择的含义之前: https ://youtu.be/odv_1fxt9BI_
本指南面向已在 Play 商店中拥有应用程序的开发人员。如果您开始使用新应用程序,则过程会容易得多,您可以按照 此处 的“新应用程序”段落的指南进行操作
99% 的开发人员已经具备的先决条件:
安卓工作室
JDK 8 和安装后,您需要在用户空间中设置环境变量以简化终端命令。在 Windows x64 中,您需要将
C:\Program Files\Java\{JDK_VERSION}\bin
添加到Path
环境变量中。 (如果您不知道如何执行此操作,可以阅读我的指南以 将文件夹添加到 Windows 10Path
环境变量)。第 0 步:打开 Google Play 开发者控制台,然后转到 Release Management -> App Signing 。
接受应用签名服务条款。
第 1 步:点击与下图相同的按钮下载 PEPK 工具
第 2 步:打开终端并输入:
传奇:
C:\Users\YourName\Downloads\pepk.jar
。C:\Android\mykeystore
或C:\Android\mykeystore.keystore
等…C:\Android\private_key.pem
eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
例子:
按 Enter 键,您需要按顺序提供:
如果一切顺利,您现在将在 PATH_TO_OUTPUT_FILE 文件夹中有一个名为
private_key.pem
的文件。第 3 步:上传 private_key.pem 文件,点击与下图相同的按钮
第 4 步:使用 Android Studio 创建一个新的密钥库文件。
打开您的一个 Android 项目(随机选择一个)。转到 Build -> Generate Signed APK 并按 Create new 。
现在您应该填写必填字段。
完成后按 OK,现在您将拥有一个新的
upload_key.jks
密钥库。您现在可以关闭 Android Studio。第 5 步:我们需要从新创建的
upload_key.jks
密钥库中提取上传证书。打开终端并输入:传奇:
C:\Android\upload_key.jks
。upload
。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