Google Play App Signing深坑盘点!成功替换App签名全流程解密

947 阅读3分钟

一、为什么开发者都在骂Google Play App Signing?

当你兴冲冲将aab上传到Google Play后,用户下载的版本却频繁出现Google /Facebook登录失败、三方SDK失效、支付功能异常

恭喜你,踩中了Google Play App Signing的“签名替换”大坑!

核心问题:现阶段App上架Google Play,就必须启用Google Play签名服务。

Google Play App Signing会强制替换你的aab签名,导致本地调试版本与线上版本签名不一致,第三方服务(如登录、支付)因校验签名失败而罢工!

二、什么是Google Play App Signing?

Google Play App Signing:这是Google Play为App的每个版本签名时所用的应用签名密钥的公开证书。注意,开发者向API提供商注册密钥时,请使用该证书。应用签名密钥本身不可访问,它存储在安全的Google Play服务器上。

Google Play上传签名:这才是开发者私有上传密钥的公开证书。注意,请使用上传密钥为App的每个版本签名,以便Google Play能够确认相应更新是开发者自己提供的。

通俗来讲,Google Play App Signing是Google Play为每个App提供的签名,Google Play上传签名是开发者自己的签名。

默认情况下,用户通过Google Play安装的App签名就是Google Play App Signing这个签名。

此时,最方便的解决方案是,升级应用签名保持跟上传签名一致。

三、升级应用签名

升级应用签名对开发者账号有权限要求:需要谷歌主账号权限。

并且Google Play提供了每年一次的应用签名升级额度,注意升级完成后,当年的额度用完就变成灰色了无法再使用了哈。

下面详细讲解,升级应用签名全流程。

1、应用签名菜单下,请求升级密钥

2、选择升级密钥原因

一般选择原因:“我需要针对多个应用或预安装版本使用同一密钥”。

3、下载密钥工具pepk.jar

4、生成签名压缩包

在终端执行命令,注意替换参数:

java -jar pepk.jar --keystore=你的密钥.jks --alias=密钥别名 --output=output.zip --encryptionkey=固定加密串 --signing-keystore=你的密钥.jks --signing-key-alias=密钥别名

5、上传并提交审核

提交成功后可以看到,Google Play App Signing已经替换成想要的了,与上传签名一致。如图所示:

这样操作终于大功告成了,目前发现的最完美的解决方式。希望可以帮助遇到同样问题的朋友少走弯路。

四、注意事项

应用签名升级之前,安装过App老版本的用户,他们后续再安装或者更新App,还是使用的老签名,并不会使用新签名。那么这部分老用户遇到的由于签名而导致的功能问题,是无解的。

所以Android出海推荐最佳实践:App上架Google Play之后,立马升级应用签名,就能避免此大坑。

五、总结

升级Google Play应用签名虽流程繁琐,但却是解决签名不一致的唯一出路!按照上述步骤操作,签名相关问题可迎刃而解。

切记:谨慎操作,一年一次升级机会!