【发布时间】:2017-10-24 11:44:02
【问题描述】:
由于 ApkSigner 在 Android SDK 构建工具的 24.0.3 及更高版本中可用,我有一个问题:ApkSigner 和 JarSigner 有什么区别?为什么我们需要 ApkSigner?
我可以在命令行中为两个签名者签署 Apk 吗?
【问题讨论】:
由于 ApkSigner 在 Android SDK 构建工具的 24.0.3 及更高版本中可用,我有一个问题:ApkSigner 和 JarSigner 有什么区别?为什么我们需要 ApkSigner?
我可以在命令行中为两个签名者签署 Apk 吗?
【问题讨论】:
jarsigner 是为签署 JAR 文件而设计的,对 APK 和 Android 一无所知,而 apksigner 是为签署 APK 文件而设计的,并且知道 Android 对 APK 签名的要求。
例如,jarsigner 不会生成 Android 7.0 (Nougat) 中引入的 APK 签名方案 v2 签名,而 apksigner 会生成。另一个例子是 jarsigner 不知道需要在 API 级别 17 或更低级别上运行的 APK 不得在其签名中使用 SHA-256 摘要,而 apksigner 知道这一点。
如果您想使用其中一种工具对 APK 进行签名,请使用 apksigner。
这里是关于从命令行签名的官方文档:Sign your app
【讨论】:
apksigner sign --ks mykeystorefile --ks-key-alias myaliasname myapkfile.apk