.\" Automatically generated by Pandoc 2.2.1 .\" .TH "SIGNAPK" "1" "" "" "" .hy .SH NAME .PP signapk \- JAR and APK signing tool .SH SYNOPSIS .PP Command line tool for signing Android ZIP/JAR/APK files: .PP \f[B]signapk\f[] [\-w] [\-a \f[I]alignment\f[]] [\-providerClass \f[I]className\f[]] \f[I]publickey.x509\f[][\f[I].pem\f[]] \f[I]privatekey.pk8\f[] [\f[I]publickey2.x509\f[][\f[I].pem\f[]] \f[I]privatekey2.pk8\f[] \&...] \f[I]input.jar\f[] \f[I]output.jar\f[] \f[B]signapk\f[] \f[I]file.jar\f[] .PP \f[I]input.jar\f[] is an existing file to sign. .SH DESCRIPTION .PP Signs ZIP files, including JARs, APKs and Over\-The\-Air (OTA) updates, in a way compatible with Android's mincrypt verifier, using EC or RSA keys and SHA1 or SHA\-256. The tool can additionally sign APKs using APK Signature Scheme v2. It is the standard tool used to sign APK and JAR files distributed as part of Android ROMs. .SH HISTORICAL NOTE .PP Prior to the KitKat (aka 4.4.2 aka android\-19) release, signapk ignored the signature algorithm specified in the certificate and always used SHA1withRSA. .PP Starting with JellyBean\-MR2 (aka 4.3 aka android\-18), the platform supports SHA256withRSA, so we use the signature algorithm in the certificate to select which to use (SHA256withRSA or SHA1withRSA). Also in JellyBean\-MR2, EC keys are supported. .PP Because there are old keys still in use whose certificate actually says \[lq]MD5withRSA\[rq], those are treated as though they say \[lq]SHA1withRSA\[rq] for compatibility with older releases. .SH SEE ALSO .PP JAR(1) .PP ZIP(1) .PP ZIPALIGN(1) .PP https://source.android.com/devices/tech/ota/sign_builds.html .SH AUTHORS The Android Open Source Project.