Android Google Play app signing 最终完美解决方式

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/105561341
本文出自【赵彦军的博客】

GooglePlay 创建 App 的时候,一不小心勾选了 谷歌签名保护计划 ,就非常坑,为什么非常坑,因为这个一旦加入,就无法退出,后面的坑就后患无穷。

这里普及一下 谷歌签名保护计划:

简单来说,就是apk上传到 GooglePlay 后,GooglePlay 会替换你的签名,实际上用户下载的 APK 的签名并不是你最初上传的签名,而是 GooglePlay 自己的签名,这个签名存放在 Google 服务器,我们是不能下载的。

说到这里,大家就明白了,我前面说的坑是什么意思?

因为 线上版本 和 本地版本 的签名不一致,会导致 facebook 登录失败,google 登录失败、微信登录失败 。

那么怎么才能把 GooglePlay 的签名换成我们自己的签名呢? 是有办法的。

解决方案

第一步:应用签名菜单下,请求升级密钥
在这里插入图片描述
第二步: 选择升级秘钥的原因,你可以选择第二个 "我需要针对多个应用或此应用的预安装版本使用同一秘钥"
在这里插入图片描述
第三步:下载工具(pepk.jar )生成签名压缩包,并上传即可。注意,此签名一个应用只能更新一次,只有一次机会哦

点击下载 pepk.jar

在这里插入图片描述
在终端中执行

java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=output.zip --encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a --signing-keystore=foo.keystore --signing-key-alias=foo

注意:要把 foo.keystore 换成你的签名,把 foo 换成你自己的 alias 。

执行完命令,会在本地生成 output.zip , 然后上传就可以了。

提交成功后可以看到谷歌的签名已经替换成想要的了。与上传签名一致。如图所示
在这里插入图片描述

总结

终于完美的解决了我们的问题,经过这一波操作,本地签名和 GooglePlay 签名已经保持一直了。

posted @ 2020-04-16 19:31  赵彦军  阅读(2586)  评论(0编辑  收藏