Android 签名时 v2 与 v1 的选择

注:对于 v2 与 v1 的对比不在此文讨论范围


结论:

  • 一定可行的方案: 只使用 v1 方案
  • 不一定可行的方案:同时使用 v1 和 v2 方案
  • 对 7.0 以下一定不行的方案:只使用 v2 方案
PS:
    如果要支持 Android 7.0 以下版本,那么尽量同时选择两种签
    名方式,但是一旦遇到签名问题,可以只使用 v1 签名方案

签名打包时签名版本(Signature Versions)的选择
这里写图片描述
参考链接:https://source.android.com/security/apksigning/v2#verification

在 Android 7.0 以上版本的设备上,APK 可以根据Full Apk Signature(v2 方案) 或者 JAR-signed( v1方案)进行验证;
而对于7.0以下版本的设备其会忽略 v2 版本的签名,只验证 v1 签名

如图所示:
这里写图片描述

真机测试:
    三个包
        1、only_v2:
            只使用 v2 方案进行签名
            预计只能安装在 7.0 以上设备;7.0 以下设备会显示签名失败
        2、only_jar_sigh:
            只使用 jar_sigh(即 v2 方案)进行签名
            预计能安装在所有设备上
        3、both_jar_and_v22:
            同时使用 v1 和 v2 两种签名方式
            预计一般能正常安装在普通手机上,某些设备可能无法正常安装
    三台设备:
        Nexus 5X:
            Android 版本:8.0.0
        Le X820:乐视手机
            Android 版本:6.0.1
        红米1:
            Android 版本:4.4.2
    安装测试:
    1、分别将 1、2、3 包安装到 Nexus 5X 上,都能正常安装与启动
    2、将1 包尝试安装到 Le X820 上,安装不成功;2、3 安装成功
    3、将1 包尝试安装到红米1上,安装不成功;2、3 安装成功

安装失败时提示:
这里写图片描述
安装成功时提示:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐怡旸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值