由于 ApkSigner 在 Android SDK Build Tools 的 24.0.3 及更高版本中可用,我有一个问题:ApkSigner 和 JarSigner 有什么区别?为什么我们需要 ApkSigner?
我可以在命令行中为两个签名者签署 Apk 吗?
jarsigner 是为签署 JAR 文件而设计的,对 APK 和 Android 一无所知,而 apksigner 是为签署 APK 文件而设计的,并且知道 Android 对 APK 签名的要求。
例如,jarsigner 不会生成Android 7.0 (Nougat) 中引入的 APK Signature Scheme v2 签名,而 apksigner 会生成。另一个例子是 jarsigner 不知道需要在 API 级别 17 或更低级别上运行的 APK 不得在其签名中使用 SHA-256 摘要,而 apksigner 知道这一点。
如果您想使用这些工具之一对 APK 进行签名,请使用 apksigner。
这是有关从命令行签名的官方文档:签署您的应用程序