【转载】https://blog.csdn.net/u014434080/article/details/76177847 感谢分享
场景:测试说升级apk的时候拷贝出错,根据他们以往的经验,极有可能是签名不一致造成的。这个时候作为开发的我们,第一件事就是验证他们的猜测是否合理,并给出相对应的证据。
1,把新老版本放到不同的文件夹下(如下图:)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TQNRTQE5keRRkT4FEVkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jNzAzN1gDNxEzNycDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2,cmd定位到APK所在目录下
3,查找apk里的rsa文件
输入命令:jar tf demo .apk |findstr RSA
注:使用这些命令前一定要安装了JDK
4,从apk中解压rsa文件
输入命令:jar xf demo .apk META-INF/CERT.RSA
5,获取签名的fingerprints
输入命令:keytool -printcert -file META-INF/CERT.RSA
结果:(如下图)
6,两个apk是否同签名,比较签名的MD5码或SHA1码 ,一样签名就是相同的,反之,签名不同
对比截图如下: