软件使用手册合辑

APK 签名方案 V1 到 V4 的区别

本篇讲四代 APK 签名方案各自需要什么系统版本、勾错会发生什么,以及按设备情况怎么勾选。相关文档:手机上给APK签名的工具怎么用.md · 密钥库丢失的后果与预防.md


一、为什么签名方案有好几代

每一代新方案都是为了堵上一代的漏洞,但新方案只有更新的系统才认得:多勾一种方案,包就更安全、也能在新系统上通过校验,同时老设备可能就不认这个包了。所以「选方案」本质上是在包要装到什么设备上之间做取舍。

二、四代方案对照

方案系统从哪代起认带来的变化需要关心什么
V1全部安卓版本最老的 JAR 签名,只校验包内文件单独用它的新包会被新系统拒绝
V2Android 7.0对整个安装包整体校验,更严也更快常规首选,新系统硬要求
V3Android 9在 V2 基础上支持签名密钥轮替普通自用碰不到
V4Android 11辅助增量安装的配套签名有对应分发场景才需要

三、按设备情况选组合

情况推荐勾选理由
只装自己的新手机(Android 7 及以上)V2(V1 可不勾)新系统硬要求 V2 及以上
还要照顾 Android 7 以下的老设备V1 + V2老系统只认 V1,新系统要 V2
重签一个要发出去、设备情况不明的包V1 + V2覆盖面最稳

两条平台硬规则,勾选前记一下:

四、勾错会发生什么

勾法后果
只勾 V1签名步骤正常,Android 11 及以上的设备安装时报签名问题
只勾 V2Android 7.0 以下的设备装不上
勾了 V3 但没有轮替密钥不影响安装,只是多写了用不上的签名块

表现对上了就按对应方向重签一次。手机上重签的操作流程,以及把四代方案做成勾选框的图形工具(如 Apksigner,6.10.0 版起加入 V3 / V4 开关),展开在 手机上给APK签名的工具怎么用.md。

五、换了签名密钥会怎样

同一应用的新旧包签名不一致时,设备会当作两个不同的应用处理:覆盖安装被拒,只能卸载重装。V3 支持的「密钥轮替」就是为换密钥准备的进阶用法,需要保留完整的密钥谱系——普通自用用不上;密钥本身怎么保管、丢了怎么办,见 密钥库丢失的后果与预防.md。

同站更多文档

  1. 签名密钥库丢失的后果与预防
  2. 手机上给 APK 签名的工具怎么用