Android应用解析包错误的原因
导致这个问题的原因目前就我所知道的而言大致有三种(其他原因请看文章末尾):
- 一、使用v1、v2方式签名带来的问题
- 二、Android7.0新特性导致的原因
- 三、应用内更新没有读取权限导致的安装包解析失败
一、使用V1、v2方式签名的问题
既然说到所谓的v1、v2签名,那么我们首先要知道啥是v1、v2签名,它们有什么作用,它们的区别在什么地方。知道了这些之后你就会基本搞明白为什么有时候会出现安装失败的情况出现。
1、什么是v1、v2签名
V1签名:即Jar Signature,可以理解为只对jar进行了签名;
V2签名:即Full Apk Signature,可以看成是对整个Apk文件进行签名;
比较官方的说法是: 这个签名(v2)是在整个APK文件的二进制内容上计算和验证的,而不是在v1的归档文件中解压缩文件内容
2、使用V1或V2签名的apk有那些区别
单独的对Apk进行V1或v2签名会产生什么样的结果:
- V1:在v1中只对未压缩的文件内容进行了验证,所以在APK签名之后可以进行很多修改------文件可以移动,甚至可以重新压缩。即可以对签名后的文件在进行处理。
- V2:v2签名验证了归档中的所有字节,而不是单独的ZIP条目;这就造成了如果你在构建过程中有任何定制任务&#x