android v2签名、渠道包安装失败

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27247601/article/details/83618022

android 7.0开始增加了v2签名,能够加速app的安装结束。

v2签名机制:v2是android 7.0开始引入,使用SHA256哈希值校验,会对每个文件的二进制字节进行校验,对应用提供更安全的保护,不管签名后对文件做了任何修改,都会导致在android 7.0以上的机型安装失败(提示改安装包未包含任何证书),v2签名在编译的过程中,将会压缩,调整和签署合并成一步完成,可以缩短apk在设备上验证的时间,加快安装速度。

最近遇到打完的渠道包在手机上安装失败,提示改安装包未包含任何证书的问题。

签名方式一(apk正式安装可以正常使用):

对apk只进行v1签名,跑脚本生成渠道包,之后不需要重新签名,安装成功。

签名方式二(出现安装失败)

1、对apk进行v1和v2同时签名,跑脚本生成渠道包,安装失败。

2、对apk进行v1和v2同时签名,跑脚本生成渠道包,重新进行签名,安装成功。

渠道包没有重新签名安装失败的原因?

我们是通过在apk的META-INF文件夹下写入一个空文件来标识不同渠道包,因为v2的签名机制一旦对文件进行了修改,就会破坏签名,使签名失效,所以就会报安装包未包含任何证书。

解决方案:重新签名就好了

猜你喜欢

转载自blog.csdn.net/qq_27247601/article/details/83618022