我认为很多开发者都在尝试详细了解2017年Google I / O上展示的新版Google Play App Signing功能。
存储密钥库以在Google Play内部对应用进行签名的功能可以节省您安全存储密钥库的工作量,并可以帮助系统根据硬件和操作系统特性优化为每个设备提供的APK。
您可以在此处的官方文档中了解有关此主题的更多信息:{{3}}。
通过以下答案,我将更好地解释您上传原始密钥库所需遵循的步骤,以及如何创建新的上传密钥库,从此时起您需要签署APK。
答案 0 :(得分:139)
本指南面向已在Play商店中拥有应用程序的开发人员。如果您开始使用新的应用程序,这个过程会更容易,您可以遵循段落#34;新应用程序"来自here
99%的开发人员已经拥有:
的先决条件Android Studio
JDK 8 ,安装后需要在用户空间中设置环境变量以简化终端命令。在Windows x64中,您需要将此C:\Program Files\Java\{JDK_VERSION}\bin
添加到Path
环境变量中。 (如果您不知道如何操作,可以阅读我的add a folder to the Windows 10 Path
environment variable指南。
第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.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键,您需要按顺序提供:
如果一切正常,您现在将在名为private_key.pem
的PATH_TO_OUTPUT_FILE文件夹中有一个文件。
第3步:上传private_key.pem文件,点击与下图相同的按钮
第4步:使用Android Studio创建新的密钥库文件。
你将需要这个关键的未来签署下一个版本 你的APP,不要忘记密码
打开一个Android项目(随机选择一个)。转到构建 - > 生成签名APK 并按创建新。
现在您应该填写必填字段。
密钥库路径代表您将创建的新密钥库,使用右侧的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都必须使用步骤4 中创建的upload_key.jks
密钥库和别名进行签名,然后再上传到Google Play开发者控制台。
更多资源:
问:当我上传使用新的upload_key密钥库签名的APK时,Google Play会显示如下错误:您上传的是未签名的APK。您需要创建已签名的APK 。
答:在构建发布APK时,检查是否使用两个签名(V1和V2)对APK进行签名。请阅读here了解详情。
步骤4,5,6是创建上传密钥,对现有应用程序是可选的
"上传密钥(现有应用程序可选):您在注册程序时生成的新密钥。在将所有APK上传到Play控制台之前,您将使用上传密钥对所有未来的APK进行签名。" https://support.google.com/googleplay/android-developer/answer/7384423
答案 1 :(得分:14)
有一个简单得多的解决方案,将花费一分钟。
完成!
现在,您可以上传先前生成的发行版了:) 祝你好运!
答案 2 :(得分:4)
当您使用 Fabric 进行公开测试版发布(使用prod配置签名)时,请勿使用 Google Play App签名。 你必须在建立两个签署的apks之后!
当你分发到更多的游戏商店(三星,亚马逊,小米......)时,你必须再次建立两个签名的apks。
请务必小心使用Google Play App Signing。
无法还原它:/ 并且在接受使用生产密钥签名的apks之后Google Play没有。启用Google Play App Signing后,只接受上传密钥...
它确实使CI分发复杂化......
答案 3 :(得分:4)
我必须做以下事情:
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)
设置你的apk6.在应用程序版本中添加已签名的apk - >管理生产 - >修改发布
7.通过上传apk,第4步中生成的证书已添加到应用程序签名证书,并成为所有未来版本的签名证书。
答案 4 :(得分:2)
答案 5 :(得分:1)
执行以下操作:
"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
答案 6 :(得分:0)
I face this issue when i am trying to migrate Apk to Android App Bundle means publishing .aab instand of .apk file..
while building .aab file its will ask the location to store key export path.
as below
在第二张图片中,您找到了加密密钥导出路径在生成.aab文件时我们的.pepk将存储在特定文件夹中的位置。
In Google Play Console once you login with play store credential
select your project from left side choose App Signing option Release Management>>App Signing
您会找到接受它的“ Google App签名认证”窗口。
之后,您会发现三个单选按钮选择 **
上传从Android Studio单选按钮导出的密钥
**,它将扩展您 APP SIGNING PRIVATE KEY按钮如下
click on the button and choose the .pepk file (We Stored while generating .aab file as above)
Read the all other option and submit.
一旦成功,您就可以返回应用程序版本并浏览.aab文件并完成Rollout ...
@Ambilpura