The smallest Android APK in the world
Clone or download
Latest commit 9358802 Oct 13, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
.gitignore Reduce size to 1497 bytes Oct 10, 2017
README.md
build.sh
key.pk8
key.x509.pem
signed-release.apk

README.md

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