Android studio Apk signature scheme v2扫盲

Google亲爹出了android studio2.3的正式版之后,正式启用了V2的签名方式,(好像2.2版本已经可以使用了,但我这边没有图了也就不去考证了),2.3版本使用V2的签名如图所示:

今天想到有这方面的需求,所以进行了一系列的测试,顺便写下来记录下。

当然了,码农都知道V2的签名方式是Android 7.0之后的签名方式,顾名思义:需要运行在7.0以后的手机上才能使用这种签名方式————虽然现在国内7.0的手机还是不多,但以后适配还是需要注意的,这里来说下使用V1和V2的签名之后会遇到的问题。

1.app没有适配7.0, targetSdkVersion设置小于24,使用V1的签名方式进行签名打包,安装在5.1和7.0的手机上

结果:这种情况是没有问题的

2.app适配7.0,targetSdkVersion设置25, 使用V1的签名方式进行签名打包,安装在5.1和7.0的手机上

结果:同样没有问题

3.app没有适配7.0, targetSdkVersion设置小于24,单独使用V2的签名方式进行签名打包,安装在5.1和7.0的手机上

结果:安装在7.0上是没有问题的,但安装在5.1上就会出现安装失败,找不到签名证书,如图所示:

这里写图片描述

4.app适配7.0,targetSdkVersion设置25, 单独使用V2的签名方式进行签名打包,安装在5.1和7.0的手机上

结果:安装在7.0上是没有问题的,但安装在5.1上就会出现安装失败,找不到签名证书

结论:单独使用V2签名的apk是不能在小于7.0的手机上安装的,会出现签名证书找不到的情况,为了防止出现这种情况,AS使用了可以同时选择两种签名方式
即:7.0以下使用V1的签名方式,7.0以后的就使用V2的签名方式

综上:一般输出签名的apk文件时,目前是需要同时选择两种方式进行签名打包的。

文章纯属个人总结,如有明显错误,请指出。不胜感激。

参考:

http://tech.meituan.com/android-apk-v2-signature-scheme.html

上一篇:【Linux搭建创建FTP服务器】---完美解决 - 费元星


下一篇:java+反射+多线程+生产者消费者模式+读取xml(SAX)入数据库mysql-【费元星Q9715234】