What a split APK is, and why your app is in pieces
An app contains code for several CPU types, images at several screen densities and text in dozens of languages. Your phone needs one of each. Split packages exist so the store can send only the pieces your device uses, which is why the Play install of a large app is smaller than its universal APK.
What the pieces are
| File | Contains | How many you need |
|---|---|---|
| base.apk | The app's code and shared resources | One, always |
| split_config.arm64_v8a.apk | Native code for your CPU | One |
| split_config.xxhdpi.apk | Images at your screen density | One |
| split_config.en.apk | One language's text | One or more |
| Dynamic feature splits | Optional parts loaded on demand | As needed |
廣告
APKS, XAPK and APKM
Distributing several files is awkward, so they get bundled. The extension tells you who made the bundle rather than anything about the contents.
| Extension | What it is |
|---|---|
| .apks | The standard bundle produced by Google's own tooling |
| .xapk | A ZIP containing the APKs plus any OBB data |
| .apkm | A bundle format from one particular distributor |
| .apk | A single package, either an old-style app or a universal build |
All of them need an installer that can open the bundle and hand every piece to Android in one session. Android's own installer accepts only a single APK.
Installing one
- Use a bundle installer It reads the bundle, picks the splits your device reports and installs them together.
- Or use a computer The install-multiple command does exactly the same thing over USB.
- Do not extract and install the base It is the most common mistake and produces an app that crashes at launch.
- Leave room The bundle, the unpacked pieces and the installed app coexist briefly. Budget three times the file size.
The universal alternative
- You want the smallest install
- Storage is limited
- The download is large
- You have an installer already
- You are archiving for several devices
- You do not know the target phone
- You want a single file with no installer
- The app is small enough that it does not matter
A universal APK contains every architecture and density and is roughly twice the size. It always installs, which is exactly why archives keep them.
Base plus your architecture plus your density. Use a bundle installer, and never install the base on its own.
Frequently asked questions
Why does the Play Store install less than the APK size?
Because it sends only the splits your device needs. The universal APK contains all of them.
Can I convert a bundle to a single APK?
Tools exist that merge splits into a universal APK. The result must be re-signed, so it will not install as an update over the original.
Do split apps update differently?
The store updates the pieces that changed. Outside it, you install the whole bundle again.
Read next
This is not a rivalry. Each does something the other cannot.
You are not buying encryption. You are buying an operator whose income does not depend on you.
For a plain ZIP either works. For a split, password-protected archive, only one does.

