>_ tools --apk-size
APK Size Analyzer
Drop an .apk and see exactly where the bytes are: dex code, native libs per ABI, res/, assets/, resources.arsc - with bloat flags and trim tips. The APK is read in your browser with zero dependencies (a hand-rolled ZIP + DEFLATE reader); nothing is uploaded.
YOUR APK
WHERE THE BYTES ARE
NATIVE LIBS PER ABI
BLOAT FLAGS
TRIM TIPS
TOP 12 LARGEST FILES
Honest scope: this reads ZIP metadata and the binary AndroidManifest - it does not decode resources or dex bytecode. Sizes are uncompressed on-disk sizes, which is what Play reports. A missing manifest read degrades gracefully: the size breakdown still works.
>_ FAQ
How can I reduce my APK size?
Ship an App Bundle so Play strips densities and ABIs per device, enable R8 shrinking with resource shrinking, convert large PNGs to WebP, and remove ABIs you do not need with abiFilters. The analyzer flags each of these when it sees them.
Does this APK analyzer upload my file?
No. The APK is parsed entirely in your browser with a hand-rolled ZIP and DEFLATE reader - there are no dependencies and no network requests. Your app never leaves your device.
Why is my APK bigger than the size Play reports?
A raw APK carries every density bucket and every ABI. Google Play generates device-specific APKs from your App Bundle, so the download each user gets is smaller than the universal APK you test locally.




