As ApkSigner is available in revision 24.0.3 and higher of the Android SDK Build Tools. I have a question what is the difference between ApkSigner and JarSigner? Why we need ApkSigner?
Can I sign Apk in the command line for both signers?
jarsigner is designed for signing JAR files and does not know anything about APKs and Android, whereas apksigner is designed for signing APK files and knows what requirements Android places on APK signatures. For example, jarsigner does not produce APK Signature Scheme v2 signatures introduced in Android Nougat, whereas apksigner does. Another example is that jarsigner does not know that APKs which need to run on API Level 17 or lower must not use SHA-256 digests in their signatures, whereas apksigner knows that.
If you want to sign an APK using one of these tools, use apksigner.
EDIT: Here's the official documentation about signing from command-line: https://developer.android.com/studio/publish/app-signing.html#signing-manually
来源:https://stackoverflow.com/questions/44153144/what-is-the-difference-between-jar-signer-and-apk-signer