在继续观看此 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 步:打开终端并输入:
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_TO_PEPK = 您在步骤 1中下载的 pepk.jar 的路径,可能类似于
C:\Users\YourName\Downloads\pepk.jar
Windows 用户。
- PATH_TO_KEYSTORE = 用于签署发布 APK 的密钥库的路径。可以是 *.keystore 或 *.jks 类型的文件或不带扩展名的文件。
C:\Android\mykeystore
之类的东西C:\Android\mykeystore.keystore
...
- ALIAS_YOU_USE_TO_SIGN_APK = 您用于签署发行版 APK 的别名。
- PATH_TO_OUTPUT_FILE = 带有 .pem 扩展名的输出文件的路径,类似于
C:\Android\private_key.pem
- GOOGLE_ENCRYPTION_KEY = 此加密密钥应始终相同。您可以在 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 键,您需要按顺序提供:
- 密钥库密码
- 别名密码
如果一切顺利,您现在将在 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_KEYSTORE_PATH = 您刚刚创建的上传密钥库的路径。在这种情况下是
C:\Android\upload_key.jks
。
- UPLOAD_KEYSTORE_ALIAS = 与上传密钥库关联的新别名。在这种情况下是
upload
。
- PATH_TO_OUTPUT_FILE = 带有 .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
.
Step 6 : 上传upload_key_public_certificate.pem
文件,点击与下图相同的按钮
第 7 步:点击App Signing 页面末尾的ENROLL按钮。
现在,每个新发布的 APK 都必须使用在第 4 步upload_key.jks
中创建的密钥库和别名进行签名,然后才能上传到 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