接下来,我将更好地解释一下您需要遵循的步骤,以上传原始密钥库并创建新的上传密钥库,从此时起,您将需要使用该密钥库对APK进行签名。
在继续之前,请观看此Android开发者视频,以了解您的应用签名选择的影响: https://youtu.be/odv_1fxt9BI
本指南是针对已在Play商店中拥有应用程序的开发人员。如果您要开始使用新的应用程序,则流程会更加简单,您可以遵循“新应用程序”段落中的指南,该段落请参见此处
99%的开发人员都已具备的先决条件:
Android Studio
JDK 8 并在安装后需要在用户空间设置环境变量以简化终端命令。在Windows x64上,您需要将C:\Program Files\Java\{JDK_VERSION}\bin
添加到Path
环境变量中。(如果您不知道如何执行此操作,您可以阅读我的指南以将文件夹添加到Windows 10的Path
环境变量中)。
步骤0:打开Google Play开发者控制台,然后转到发布管理 -> 应用签名。
接受应用程序签名TOS。
步骤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
图例:
C:\Users\YourName\Downloads\pepk.jar
的路径。C:\Android\mykeystore
或 C:\Android\mykeystore.keystore
等等。C:\Android\private_key.pem
eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
示例:
java -jar "C:\Users\YourName\Downloads\pepk.jar" --keystore="C:\Android\mykeystore" --alias=myalias --output="C:\Android\private_key.pem" --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
按 Enter 键,然后按顺序输入以下内容:
如果一切正常,你现在将会在 PATH_TO_OUTPUT_FILE 文件夹中找到一个名为 private_key.pem
的文件。
第三步:单击与下面图片相同的按钮上传 private_key.pem 文件。
第四步:使用 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
解释:
C:\Android\upload_key.jks
。upload
。C:\Android\upload_key_public_certificate.pem
。示例:
keytool -export -rfc -keystore "C:\Android\upload_key.jks" -alias upload -file "C:\Android\upload_key_public_certificate.pem"
按回车键,您需要提供密钥库密码。
如果一切顺利,您将在 PATH_TO_OUTPUT_FILE 文件夹中拥有一个名为 upload_key_public_certificate.pem
的文件。
第6步:点击与下方图像相同的按钮上传upload_key_public_certificate.pem
文件。
第7步:在应用签名页面末尾单击“ENROLL”按钮。
现在,每个新版本的APK都必须使用第4步中创建的upload_key.jks
密钥库和别名进行签名,然后再上传到Google Play开发者控制台。
更多资源:
问:我上传了使用新的upload_key密钥库签名的APK时,Google Play显示错误,如:您上传了未签名的APK。您需要创建一个已签名的APK。
答:在构建发布版APK时,请检查使用两个签名(V1和V2)对APK进行签名。阅读这里以获取更多详细信息。
第4、5、6步是为现有应用程序创建可选的上传密钥。
"上传密钥(对于现有应用程序而言是可选项):在加入该计划期间生成的新密钥。您将使用上传密钥在上传到Play Console之前对所有未来的APK进行签名。" https://support.google.com/googleplay/android-developer/answer/7384423
有一个非常简单的解决方案只需要花费一分钟。
完成了!
现在,你可以上传之前生成的版本进行发布 :) 祝你好运!
当将Android应用程序包文件(APK)迁移到Android App Bundle(AAB)并发布应用程序到Play Store时,我遇到了以下问题并解决了它。
在构建 .aab
文件时,会提示您存储密钥导出路径的位置,如下所示:
在第二张图片中,您可以找到加密密钥导出路径位置,在生成 .aab 文件时,.pepk 将存储在特定文件夹中。
使用 Play 应用商店凭据登录 Google Play 控制台后: 选择左侧的项目,选择“App Signing”选项,然后选择“Release Management>>App Signing”
你会发现 “Google App Signing Certification” 窗口,请接受它。
之后,你将看到三个单选按钮,请选择:
从Android Studio导出的密钥上传单选按钮
,它会展开以下内容:
APP SIGNING PRIVATE KEY 按钮。
点击按钮,并选择 .pepk
文件(我们在生成 .aab
文件时已存储好)。
请阅读所有其他选项并提交。
一旦成功,您可以返回应用发布页面,浏览 .aab 文件并完成发布...
@Ambilpura
我需要做以下事情:
2.前往 应用发布 -> 管理生产 -> 创建发布
4.通过运行 "keytool -genkey -v -keystore c:\path\to\cert.keystore -alias uploadKey -keyalg RSA -keysize 2048 -validity 10000" 来创建上传证书
5.使用生成的证书(c:\path\to\cert.keystore)对APK进行签名
6.在应用发布 -> 管理生产 -> 编辑发布中上传已签名的APK文件
7.通过上传APK,第4步生成的证书已被添加到应用程序签名证书并成为所有未来版本的签名证书。
DON'T USE
类型的注释是危险的。您能详细解释问题和推荐的解决方案吗?难道没有解决方案吗?对于 Fabric 来说,签署 APK 两次真的很困难吗? - Gokhan Arik"CREATE APPLICATION" having the same name which you want to upload before.
Click create.
After creation of the app now click on the "App releases"
Click on the "MANAGE PRODUCTION"
Click on the "CREATE RELEASE"
Here you see "Google Play App Signing" dialog.
Just click on the "OPT-OUT" button.
It will ask you to confirm it. Just click on the "confirm" button
"C:\My Path\MyName"
,就必须使用引号,但如果路径是C:\MyPath\MyName
,则不需要。顺便说一句,谢谢 :) - MatPag