ApkGolf
This repository hosts the smallest Android APK in the world. The current size of the APK is 678 bytes.
To learn more about how this was achieved, please read the blog post.
If you have beaten my score at APK Golf, please submit a PR, and I'll happily add you to the hall of fame!
Hall of Fame
Using DSA Keystore, reducing manifest size (1295 bytes, 26% reduction)
The manifest can be further optimised by using a compiled XML file instead, and a DSA Keystore is smaller than the default generated by Android Studio.
Contributed by Madis Pink in this Pull Request
Insane zopfli compression (1180 bytes, 9% reduction)
This improves compression of the APK.
Contributed by Gautam Korlam in this Pull Request
Use Elliptic-curve signatures (922 bytes, 16% reduction)
Elliptic-curve signatures are even smaller than DSA, and are supported in APK v2 signing.
Contributed by Robert Xiao in this Pull Request
Remove classes.dex (824 bytes, 11% reduction)
If a code element is not present in the manifest, no classes.dex file is required by the PackageParser
.
Contributed by Robert Xiao in this Pull Request Original idea from zhuowei, raised in this Issue
Further hand tuning of manifest (820 bytes, 0.5% reduction)
Further byte-level optimisation of what remains of the manifest.
Contributed by Madis Pink in this Pull Request
Minimising APK Signing Certificate (678 bytes, 18% reduction)
Manual removal of unnecessary fields present in the certificate used to sign the APK.
Contributed by klyubin in this Pull Request