Quick answer: an APK is a finished Android app you can install directly. An AAB (Android App Bundle) is a publishing format that cannot be installed: Google Play takes it and generates a smaller, device-specific APK for each download. Since August 2021 new apps on Play must be uploaded as AAB; APKs remain the format for testing, direct sharing and other stores.
The two formats
| APK | AAB | |
|---|---|---|
| Stands for | Android Package | Android App Bundle |
| Installs on a phone | Yes | Never |
| Google Play accepts it | Only for apps first published before 2021 | Required for new apps |
| Contains | Resources for every device in one file | Resources for every device, kept separate |
| Signed by | You | You, then re-signed by Play |
| Meant for | Testing, sideloading, other stores | Publishing on Play |
Why Play switched
A universal APK carries icons at five densities, every translation and native code for each CPU. A given phone uses one density, one or two languages and one CPU — the rest is downloaded and ignored. From a bundle, Play builds an APK containing only what that phone needs, typically 20–35% smaller, more for apps with big native libraries.
A WebView app saves at the small end — little native code, few translations — but the saving is free, so take it.
The condition: Play App Signing
Because Play produces the APKs users install, it has to sign them, so it needs a key. That is Play App Signing, mandatory with bundles. In practice:
- you sign the bundle with an upload key;
- Play verifies it, discards it, and signs the generated APKs with the app signing key it holds;
- a lost upload key can be reset by Google — unlike the old model, where a lost key ended your ability to update;
- the APK a user installs is not byte-identical to anything you built, which matters only if you pin signatures or need reproducible builds.
When an APK is still the answer
- Testing — install on your own phone in seconds.
- Sharing directly — a client, a colleague, a QR code on a poster.
- Internal and enterprise apps pushed by MDM or hosted on your own site.
- Other stores — Amazon Appstore, Samsung Galaxy Store, F-Droid, Huawei AppGallery mostly take APKs.
- Markets where Play is unavailable.
Which is why building both is the practical habit: the APK circulates while you test, the AAB goes up when you publish.
Getting an APK out of an AAB
Google's bundletool generates device APKs from a bundle locally — useful for seeing exactly what Play would serve, and a command-line tool with its own learning curve. For most people, producing both formats from the same project is the shorter path.
So which do you need?
| You want to… | Use |
|---|---|
| Publish a new app on Google Play | AAB — nothing else is accepted |
| Hand the app to someone | APK |
| Test on your own phone | APK |
| List on Amazon, Samsung or F-Droid | APK |
| Update an app first published as an APK before 2021 | APK still allowed |