86

GitHub - fractalwrench/ApkGolf: The smallest Android APK in the world

 6 years ago
source link: https://github.com/fractalwrench/ApkGolf
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK