Apksigner 中文文档 下载 App

v2 签名方案:Android 7.0 起的整包校验

与 v1 的本质区别

v1 是"逐个文件查",v2 是"整个文件查"。v2 把 APK 当作一个完整字节流计算摘要,签名块写进 APK 自身的特定区域,安装时对整包做校验——zip 结构、每个条目、注释字段,任何一处的改动都会让校验失败。

这堵住了 v1 时代"包内文件没动、包结构被动"的攻击面,也让校验速度更快(一次整包摘要,不必逐条目解压比对)。机制描述依据 Android 开发者文档对 APK Signature Scheme v2 的说明。

一个重要的副作用

v2 对整包签字,意味着签名之后包不能再动。给 APK 加一个文件、改一条注释,v2 签名立即作废。这带来两条实操纪律:

什么包该带 v2

目标系统在 Android 7.0 及以上的包,v2 应当是标配。现代安卓设备的主流版本早已越过这条线,不带 v2 的包在新系统上要么装不了,要么被迫回退到弱校验路径。

在 apk-signer 里

v2 是应用签名能力的核心组成部分(开发者从早期版本就支持 v2 签名,商店描述里专门强调这一点)。签名设置中 v2 与 v1 一样有独立开关,组合建议见v1+v2 稳妥默认;开关背后的版本演进见方案全景。