1. 问题所在
最近在项目里出现由于签名文件而导致上架后更新不能安装,一直提示是安装失败,提示是签名文件的与旧版本不一
致。在有些应用市场直接更新版本的时候失败提示签名文件不一致。
2.导致原因
我们习惯在项目里添加自己的签名的文件,在添加签名的文件一般有两个签名,一个是debugkey,另外一个是productionkey。调试的时候用的是debugkey,正式的时候我们会打包签名的时候productionkey。正因为我们的两个key容易混淆,导致我上线的时候用的是debugkey,而更新的时候用的是productionkey出现MD5和SHA1的值对应不上,所以出现问题签名不一样的。解决的办法是申请重新更换签名上架。如:魅族的应用市场必须是要签名的对应的,可以直接申请更换签名,重新上架。
3.查看签名文件
为什么要查看签名文件是由于你只有去对比才知道是否是签名文件的不一致的问题。
win系统下的查看,首先在系统的文件下找到apk的路径
然后输入:
jar tf app-release.apk |findstr RSA
成功后再输入:
jar xf app-release.apk META-INF/CERT.RSA
最后查看MD5和SHA1的值:
keytool -printcert -file META-INF/CERT.RSA
可以对比你 的两个的签名包的key值是否是一样。
不一样的情况就用去检查替换。