APK & App Bundles

APK Size vs Download Size vs Installed Size

An APK's file size, estimated download size and installed storage use are different measurements. Before optimizing, decide which one affects the user problem. A smaller ZIP file can still install to a large footprint, and deleting a CPU architecture can shrink a universal APK without changing the download delivered to an arm64 device.

By Updated 2 min read

Define the measurement boundary

The APK file size is the bytes occupied by that artifact on disk. A download estimate models transfer compression or delivery assumptions. Installed size includes how Android stores the package and associated files; app data, caches and downloaded assets can increase it further after launch.

A Play App Bundle introduces another distinction: Play generates device-specific APKs. The complete AAB and a universal APK are not representative of every user's download. App-size guidance.

Compare the same artifact type

Use the Android command-line analyzer for a reproducible starting point:

BASH · REFERENCE EXAMPLE
apkanalyzer apk file-size app-release.apk
apkanalyzer apk download-size app-release.apk
apkanalyzer files list app-release.apk

Label the second result as an estimate. Do not present it as an observed download from Google Play. For a delivered-size question, generate or inspect the APK set for the same device configuration and compare like with like. Analyzer size commands.

An example of a misleading comparison

Imagine an old universal APK contains arm64 and 32-bit native libraries, while a new device-specific APK contains only arm64. The new file is smaller even if the developer changed no code. Claiming that a new optimizer achieved that reduction would confuse packaging with optimization.

The same problem appears when comparing a debug Flutter APK with a release AAB. Build mode, code shrinking and distribution format all change at once. Freeze those variables before attributing savings to one change.

Build a useful size budget

Track at least four numbers in release notes: the build artifact size, the selected delivery estimate, the largest packaged categories and the user-storage figure after a defined workflow. For the last measurement, specify whether the app has downloaded media, opened a database or warmed caches.

Use a budget tied to product needs rather than an arbitrary universal target. A map application with offline tiles and a one-screen calculator have different resource requirements.

Optimize the contributor that matches the complaint

If installation fails because the device lacks space, a download-only reduction may not solve the issue. If a mobile-data download is too large, remove unnecessary delivered assets or adopt targeted delivery. If storage grows after use, investigate caches and downloaded content instead of only shrinking DEX.

APKLint's Size Analyzer reports packaged contributions and selected large entries. Treat that as an attribution aid, not a claim about every device's download, installed storage or memory consumption.

Sources and further reading

  1. Android Developers: apkanalyzer command-line reference
  2. Android Developers: Reduce your app size

Reference review: 22 September 2026. Examples illustrate the workflow; check your installed versions, release artifact and account-specific Console requirements before applying them. This guide is not a claim that APKLint executed your project or verified your private account.

APKLint

Android inspection tools and practical release guides. About APKLint · Report a correction