Reference

Split APKs

Split APKs break an Android app into a base APK plus separate configuration APKs for each device's CPU architecture, screen density, and language. Google Play installs only the pieces a given device needs, so less is downloaded and stored.

Build & packagingAndroid

Split APKs

Also known as: split apk, configuration apk, config apk, split apks

Split APKs break an Android app into a base APK plus separate configuration APKs for each device's CPU architecture, screen density, and language. Google Play installs only the pieces a given device needs, so less is downloaded and stored.

  • Split APKs are a base APK plus per-device config APKs for ABI, screen density, and language.
  • Google Play generates them from an Android App Bundle (.aab) and delivers only what a device needs.
  • Installing a split app by sideload requires the base and its splits together, not a single file.

What a split APK is

Traditionally an Android app shipped as one monolithic APK containing every CPU architecture (`armeabi-v7a`, `arm64-v8a`, `x86_64`), every screen-density resource, and every translated string. The split APK mechanism, introduced with the Android App Bundle (`.aab`) build format, lets Google Play generate and deliver a base APK plus targeted configuration APKs (often called split APKs) per device.

A typical install is the base module plus one ABI split, one density split, and one language split. The device assembles them at install time and treats them as a single app. Because only the matching slices are downloaded, the on-device install is smaller than a universal APK that bundled all variants.

How splits are produced and delivered

Developers upload an AAB to the Play Console; Google Play's Dynamic Delivery does the splitting and signs each artifact with the app's key. There are three split types: ABI splits (native libraries), density splits (drawables), and language splits (string resources). Optional dynamic feature modules extend this so parts of an app can be downloaded on demand.

Sideloading a split-APK app is more involved than a single file, because the base and its config splits must be installed together (for example via `adb install-multiple` or an APKS/XAPK bundle). This is why a file pulled from a device may appear as several `.apk` pieces rather than one.

Why it matters for storage

Split APKs reduce both download size and the installed footprint by excluding code and resources the device will never use, such as other CPU architectures and unused languages. The installed app still occupies space, and updates plus app cache and system data accumulate over time. Cleanor helps you see which apps and their data are consuming the most storage so you can offload or clear what you no longer need.

Related terms

Keep reading the reference.

Act on it

Guides and tools for this topic.