Google play app signing 带来的问题及解决方法

Posted by DQ Blog on September 10, 2021

layout: post title: Google Play App Signing 带来的问题及解决方法 subtitle: Google Play App Signing 带来的问题及解决方法 date: 2021-09-10 author: dingqiang.l header-img: img/google_play_3.jpg catalog: true tags: - Android —

正常情况下,我们的应用是必须签名的,签名有两个主要作用:

  1. 确定发布者身份。由于应用开发者可以通过使用相同的包名来替换已经安装的程序,因此使用签名可以避免发生这种情况。
  2. 确保应用的完整性。签名会对应用包中的每个文件进行处理,从而确保程序包中的文件不会被替换。

同时在某些场景下,我们的签名也起着重要作用,比如第三方微信登陆就需要和签名信息捆绑。

而我们在Google Play上架应用,创建应用过程中有一处选项,是否启用Play App Signing保护计划,这个选项一旦启用,Google会将我们自己的签名擦除,然后对应用重新签名,所以最终在商店中下载的应用的签名就不是我们自己的签名,这样就导致一些和签名捆绑的服务使用不了,比如微信登陆。 在这里插入图片描述

当然解决办法也是有的,那就是升级应用签名密钥,通过Google提供的工具,将签名换成我们自己的。

首先打开发布-》设置中的应用完整性 在这里插入图片描述

然后点击请求升级密钥

弹框中选我需要针对多个应用或此应用的预安装版本使用同一密钥,然后下载PEPK工具,使用命令导出我们加密后的公钥的私钥到文件,最后上传文件,这里有两点需要注意的地方:

  1. 图片中加粗部分必须替换成我们自己的参数
  2. Google 提供的命令不完整,请使用下方命令,注意加粗标识
java -jar pepk.jar --keystore=你的.keystore --alias=你的alias --output=output.zip --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a --signing-keystore=你的 --signing-key-alias=你的alias

文件上传成功后,可以看到应用完整性中的签名信息和我们一致了,关注MD5 证书指纹、SHA-1 证书指纹和SHA-256 证书指纹。

最后还需要特别注意的是,密钥只能修改一次,所以千万不要搞错了。

在这里插入图片描述

欢迎关注我的个人微信公众号,【优了个秀】和你每天进步一点点 在这里插入图片描述