Mat*_*Pag 84 android google-play android-signing android-app-signing
我认为很多开发者都在尝试了解更多有关Google I/O 2017上展示的新版Google Play App Signing功能的信息.
存储密钥库以在Google Play内部对应用进行签名的功能可以节省您安全存储密钥库的工作量,并可以帮助系统根据硬件和操作系统特性优化为每个设备提供的APK.
您可以在官方文档中阅读有关此主题的更多信息:https://developer.android.com/studio/publish/app-signing.html#google-play-app-signing.
通过以下答案,我将更好地解释您上传原始密钥库所需遵循的步骤以及如何创建新的上传密钥库,从此点开始您需要签署APK.
Mat*_*Pag 165
本指南面向已在Play商店中拥有应用程序的开发人员.如果您开始使用新应用程序,则此过程会更容易,您可以从此处遵循"新应用程序"段落的指导原则
99%的开发人员已经拥有的先决条件:
Android Studio
JDK 8 和安装后,您需要在用户空间中设置环境变量以简化终端命令.在Windows x64中,您需要将此:添加C:\Program Files\Java\{JDK_VERSION}\bin到Path环境变量中.(如果您不知道如何执行此操作,可以阅读我的指南,将文件夹添加到Windows 10 Path环境变量中).
第0步:打开Google Play开发者控制台,然后转到版本管理 - >应用程序签名.
接受App Signing 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.jarWindows用户.C:\Android\mykeystore或C:\Android\mykeystore.keystore等等......C:\Android\private_key.pemeb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a例:
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.
第3步:上传private_key.pem文件,单击与下图相同的按钮
第4步:使用Android Studio创建新的密钥库文件.
你将需要这个关键的未来签署你的APP的下一个版本,不要忘记密码
打开一个Android项目(随机选择一个).转到Build - > Generate Signed APK并按Create new.
现在您应该填写必填字段.
密钥库路径代表您将创建的新密钥库,使用右侧的3点图标选择文件夹和名称,我选择
C:\Android\upload_key.jks(.jks扩展名将自动添加)注意:我用作
upload新的别名,但如果您以前使用具有不同别名的相同密钥库来签署不同的应用程序,则应选择先前在原始密钥库中使用的别名.
完成后按确定,现在您将拥有一个新的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"
按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
小智 21
有一个更简单的解决方案需要一分钟.
完成!
现在您可以上传之前生成的版本:)祝您好运!
小智 6
我必须执行以下操作:
2.转到应用发布 -> 管理生产 -> 创建发布
3.在Google Play App Signing上点击继续

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中生成的证书已添加到App Signing证书中,成为您以后所有构建的签名证书。
当您使用Fabric进行公共测试版(使用产品配置签名)时,请勿使用Google Play 应用签名。您必须在构建两个签名的 APK 后!
当您分发到更多游戏商店(三星、亚马逊、小米等)时,您必须再次构建两个签名的 APK。
因此,使用 Google Play 应用签名时要非常小心。
无法恢复它:/并且 Google Play 在接受使用生产密钥签名的 apk 后没有这样做。启用 Google Play 应用签名后,仅接受上传密钥...
这确实使 CI 分发变得复杂......
升级的下一个问题:https ://issuetracker.google.com/issues/69285256
将Android应用程序包文件(APK)迁移到Android App Bundle(AAB)时,将应用程序发布到Play商店中时遇到了此问题,并在下面得到了解决。
构建.aab文件时,系统会提示您输入存储密钥导出路径的位置,如下所示:

在第二张图片中,您找到了加密密钥导出路径我们的.pepk在生成.aab文件时将存储在特定文件夹中的位置。
使用Play商店凭据登录Google Play控制台后:从左侧选择您的项目,然后选择“应用签名”选项发行管理>>应用签名

您会找到接受它的Google App签名认证窗口。
之后,您会发现三个单选按钮,选择**
上载从Android Studio单选按钮导出的密钥
**,它将如下所示扩展您的APP SIGNING PRIVATE KEY按钮
单击按钮并选择.pepk文件(.aab如上所述,我们在存储文件时已存储)
阅读所有其他选项并提交。
成功完成后,您可以返回应用程序版本并浏览.aab文件并完成RollOut ...
@Ambilpura
| 归档时间: |
|
| 查看次数: |
74706 次 |
| 最近记录: |