Android studio 打包签名 v1 与 v2区别

在进行打包流程中有一项需要选择签名版本:Android studio 打包签名 v1 与 v2区别_第1张图片

signature version v1 v2的区别

v1签名是对jar进行签名,V2签名是对整个apk签名:官方介绍就是:v2签名是在整个APK文件的二进制内容上计算和验证的,v1是在归档文件中解压缩文件内容。

二者签名所产生的结果: 

v1:在v1中只对未压缩的文件内容进行了验证,所以在APK签名之后可以进行很多修改——文件可以移动,甚至可以重新压缩。即可以对签名后的文件在进行处理 

v2:v2签名验证了归档中的所有字节,而不是单独的ZIP条目,如果您在构建过程中有任何定制任务,包括篡改或处理APK文件,请确保禁用它们,否则您可能会使v2签名失效,从而使您的APKs与Android 7.0和以上版本不兼容。

google官方最后也说了:一个APK可以同时由v1和v2签名同时签署,所以它仍然可以向后兼容以前的Android版本。

 

正确选择姿势:

一定可行的方案: 只使用 v1 方案       

不一定可行的方案:同时使用 v1 和 v2 方案       

对 7.0 以下一定不行的方案:只使用 v2 方案

1, 如果要支持 Android 7.0 以下版本,那么尽量同时选择两种签名方式,但是一旦遇到签名问题,可以只使用 v1 签名方案   

2,如果需要对签名后的信息做处理修改,那就使用v1签名方案   

3,如果最后遇到各种不同的问题,可以不勾选v1和v2,直接打包签名

 

1.只勾选v1签名所有机型都能用,但是在7.0及以上不会使用更安全的验证方式;
2.只勾选V2签名7.0以下机型会在直接安装完后显示未安装,7.0及以上机型使用V2的方式验证成功安装;
3.同时勾选V1和V2对所有机型成功安装(建议使用).

你可能感兴趣的:(Android studio 打包签名 v1 与 v2区别)