0、上传密钥 & 应用签名密钥
“Google 会使用上传证书验证您的身份,并使用您的应用签名密钥为 APK 签名以进行分发”
以上为官方解释。
2021年8月起,上传google play的应用必须以aab格式,aab的签名流程要比之前apk的复杂一些。需要上传密钥和应用签名密钥两个密钥。
首先,你需要在google开发者平台上传或更新两个密钥(此处有三种情况,下面会详细介绍:1.在google play新建一个aab应用 2.为google play之前的aab应用更新密钥 3.为google play之前的apk应用更新密钥。此处,第三种情况较为复杂,因为以前apk只有一个密钥,现在要将他更新为aab的两个密钥,以前的密钥不能丢,需要用以前的密钥为新的密钥签名再上传才能更新成功)。然后用android studio打出用上传密钥签名的aab包,上传google play Console。Google play Console 会验证aab应用的上传密钥,验证不通过便上传失败。上传成功后,便可发布版本。审核通过后,用户在google play下载应用时,google play会剔除你的上传密钥,将aab组装成apk,然后用应用签名密钥进行签名,供用户下载。
0.1、生成上传密钥
填写信息,注意:有效期最好25年,时间太长,上传google play时可能会审核不通过。
记录下密钥的别名和密码,
以后都用这个密钥签名aab再上传google play。
0.2、生成应用签名密钥
基本流程和生成上传密钥的相同,但是有几个地方需要注意一下
生成新密钥时,最好选择.keystore格式
上架google play的应用要勾选”Google play App Signing”选项
将该签名上传至google play console
1、Google play上架aab流程
1.1、创建应用
点击创建应用
填写信息,点击创建
1.2、根据提示依次填写商品详情
1.3、添加国家和地区
1.4、创建发布版本
1.5、上传自己的签名
上传自己的签名文件(上传密钥 + 应用签名密钥)
下载pepk工具,根据命令行生成所需文件
应用签名密钥 :
java -jar pepk.jar --keystore=test_app_signing_key.keystore --alias=swiftpasssign --output=app_sigining_key_output.zip --include-cert --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
上传密钥:
keytool -export -rfc -keystore test_upload_key.jks -alias swiftpass -file upload_key_certificate.pem
上传后点击保存
保存成功后会提示
注:若此时只上传应用签名密钥不上传上传密钥,审核通过后,在应用完整性处查看两个密钥会是一样的。
1.6、上传aab文件
上传成功后填写相应信息,并点击保存
点击检查
版本检查通过,点击发布正式版
在版本概览里,可以查看当前发布版本,处于”可以送审”状态
在发布概览点击”送审”
2、Google play aab应用更新签名
应用签名密钥每年只能修改一次,上传密钥需要联系google团队修改。
2.1、修改应用签名密钥app_signing_key
根据命令行生成所需文件
命令行中包含着用上传密钥为新的应用签名密钥签名的操作
java -jar pepk.jar --keystore=new_app_signing_key.keystore --alias=wftsign --output=new_app_signing_key_output.zip --signing-keystore=test_upload_key.jks --signing-key-alias=swiftpass --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
根据需要进行选择升级版本
上传文件,选择原因,点击升级
点击确认
系统会提示
此时再查看应用签名密钥,已经更改
2.2、修改上传密钥upload_key
需要联系google团队
3、Google play已上架的apk应用更新为aab
3.1、上传上传密钥和应用签名密钥
生成应用签名密钥
有坑注意
注:先用之前上传apk所用的签名文件生成,生成之后再升级修改
旧签名文件
java -jar pepk.jar --keystore=spay_intl_keystore.jks --alias=spay_intl --output=old_app_signing_private_key.pepk --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
生成上传密钥
keytool -export -rfc -keystore swiftpass_upload_key.jks -alias wft -file upload_certificate.pem
上传密钥
上传成功
3.2、更换应用签名密钥
注:因为旧的密钥加密强度不符合Google Play新标准。
上传新的应用签名密钥
该应用签名密钥生成时需要用上传密钥进行签名(命令行中已包含该操作,只需替换对应参数即可)
java -jar pepk.jar --keystore=swiftpass_app_signing_key.keystore --alias=wftsign --output=app_sigining_key_output.zip --signing-keystore=swiftpass_upload_key.jks --signing-key-alias=wft --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
选择原因,上传密钥