Android应用打包时签名更新,导致微信支付失败的问题

前言:
搞Android开发的对apk打包都很熟悉了,使用Android studio打包应用的时候,如果要生成release版本的安装包,需要的操作如下:
点击菜单的build -> generate signed apk,然后选择release或者debug版本,选择签名,输入密码进行打包。

打包为什么需要签名呢?

签名的意义在于保证应用的安全性和唯一性,具体来说,如果没有签名,那么把你的应用和其他应用区分开的唯一标识就是包名,但是包名很有可能重复啊,而且万一有人拿到你的代码,然后恶意修改上传到市场了,怎么办。
所以就需要签名来避免这些问题。签名一旦创建,只要私自小心保存,不流露出去,打包的时候用它给安装包打上独一无二的“烙印”,别人就无法盗用了。

如果你的应用使用了某个签名,并且已经上传到应用市场了,那以后就最好一直用这个签名,不要修改,否则覆盖安装的时候会无法安装。

下面是一个签名相关的实例问题:
最近项目中出现了微信支付总是失败的问题,分析发现是由于打包时签名变化导致的。(应用宝允许签名修改一次,但是不能恢复之前的)

那么签名更新后,以后就必须要一直用新的签名了。需要做哪些修改才能恢复微信支付功能呢?有三处需要修改:
1.jks文件也就是签名文件。所有用到旧的签名的地方替换成新的。
2.Build.gradle中对签名的配置(如果有的话)。
3.微信开放平台上配置了应用签名,因此需要一块更新。
登录微信开放平台 https://open.weixin.qq.com/,在应用信息里有一项应用签名的信息。
按照说明在手机上安装你的应用,然后安装微信提供的查看签名的应用,打开,输入你应用的包名,点按钮就可以得到一串字符,然后把这串字符更新到微信平台上,过一会就生效了。

猜你喜欢

转载自blog.csdn.net/fenggering/article/details/80011189