signapk is a free cross-platform standalone tool to sign the Android APK files, it's written in C++ and has compatible command line arguments with Google ApkSigner.
Because there are many factors involved in APK signing. If you have problems with the signature, please submit an issue at https://github.com/imgdrive/signapk/issues.
keytool -importkeystore -srckeystore-srcstoretype PKCS12 -destkeystore -deststoretype JKS -srcstorepass mysecret -deststorepass mysecret -srcalias myalias -destalias myalias -srckeypass mykeypass -destkeypass mykeypass -noprompt
signapk [options]
Command | Description |
---|---|
sign | Sign the provided APK |
verify | Check whether the provided APK is expected to verify on Android |
Options | Description |
---|---|
--ks | KeyStore file |
--ks-key-alias | KeyStore key alias |
--ks-pass | KeyStore password |
--key-pass | Key password |
--in | Input file |
--out | Output file |
--help -h |
Help |
--verbose -v |
Verbose output |
--v1-signing-enabled | Whether to enable signing using APK Signature Scheme v1 |
--v2-signing-enabled | Whether to enable signing using APK Signature Scheme v2 |
--v3-signing-enabled | Whether to enable signing using APK Signature Scheme v3 |
--min-sdk-version | Lowest API Level |
--max-sdk-version | Highest API Level |
# Sign the in.apk with signing scheme v1/v2/v3, output to out.apk
signapk sign --ks rsa_1024.jks --ks-pass pass:android --key-pass pass:android --v1-signing-enabled true --v2-signing-enabled true --v3-signing-enabled true --out out.apk in.apk
# Verify app.apk
signapk verify --verbose app.apk
Version 2.1 2024-04-23
Fixed: zipalign verification failed
Fixed: fix a crash caused by deallocating buffer
Added: static link C runtime library [Linux]
Added: signapk Linux x86 version [Linux]
Version 2.0 2023-12-15
Changed: implement complatible command line arguments with ApkSigner
Added: support signature algorithm DSA-1024, DSA-2048 and DSA-3072
Added: native binaries for macOS (x86-x64 and ARM64)
Added: native binaries for Linux (Unbuntu)
Version 1.0 2023-06-01
First public release