AS2.2之后,打包输出apk文件时,需要用户选择签名输出方式,V1(jar Signature)和V2(full APK Signature) ,不选则无法输出apk文件
一:现在我们对输出的apk进行三种操作,分别为只勾选V1,只勾选V2,既勾选V1又勾选V2,输出apk文件,并将apk安装到低于7.0版本和高于7.0版本的模拟器上运行,查看结果如何?
1.1:只勾选V1签名,并输出apk文件,并将之命名v1.apk
:
1.2:只勾选V2签名,并输出签名文件,将之命名为v2.apk
1.3:既勾选V1签名又勾选V2签名,并输出签名文件,将之命名为v1-v2.apk
1.4:以上三步对应输出签名文件如下
二:启动两个模拟器,版本分别为5.0(低于7.0)和8.0(高于7.0),将上步产生的apk分别安装到这两个手机上,测试安装情况!
如图:左侧为5.0版本,右侧为8.0版本
2.1:将V1分别安装到两个模拟器上,如图都能正常安装和显示
2.2:将V2分别安装到两个模拟器上,如图:5.0版本上出现错误,应用没有安装成功,不显示应用,8.0版本正常显示
2.3:将v1-v2apk分别安装到两个模拟器,如图:都能正常显示
三:总结
3.1:二者的区别:
V1:可对签名后的文件,作适当修改,并重新压缩。
V2:不能对签名后的 APK作任何修改,包括 zipalign。因为它是针对字节进行的签名,所以任何改动都会影响最终结果。
Signature Versions不能只选择 V2(Full APK Signature),应该选择V1(Jar Signature),或者选择 V1和 V2。