An APK is a finished Android app: one file that installs directly on a phone. An AAB — Android App Bundle — is a publishing format: it contains everything needed to make an APK for any device, but cannot itself be installed. You upload the AAB to Google Play, and Play generates a tailored APK for each phone that downloads your app. New apps on Play must be uploaded as an AAB. Everywhere else — sharing a file, testing, installing on your own devices — you want the APK. Make Website to App produces APKs on the free tier and AABs with Pro, from the same project.
What each file is
| APK | AAB | |
|---|---|---|
| Installs directly on a phone | Yes | No |
| Accepted by Google Play for new apps | No | Yes (required) |
| Contains | Code + every resource for every device | Code + resources split by screen density, language and CPU |
| Who signs the installed app | You (or the builder's key) | Google Play, with a key it holds |
| Size on the phone | Everything, ~4–5 MB shell + your content | Only what that phone needs, typically 20–35% smaller |
| Best for | Direct sharing, testing, sideloading, enterprise | Google Play |
Why Google made the switch
A universal APK carries icons for every screen density and strings for every language, most of which a given phone never uses. The bundle lets Play build a smaller APK per device. For a website app the saving is modest — the shell is small and your content is the same on every phone — but the requirement applies regardless of size. Since August 2021 every new app on Play has had to be an AAB.
The catch: Play holds the signing key
With a bundle, the APKs users install are signed by Google Play using an app signing key that Play stores. You sign the bundle with a separate upload key that only proves the upload came from you. This is Play App Signing, and it is mandatory with AABs. It is a good trade — lose your upload key and Google can reset it; lose an APK signing key and your app is unupdatable forever — but it means the key that signs what users install is not on your computer.
What still matters on your side: every upload must be signed with the same upload key. That is why Pro lets you generate a key once and keep it, or upload the one you already have.
When you still want an APK
- Sharing directly. A client, a class, a team, a QR code on a poster. People install it in two taps with no store involved.
- Testing. Install, check, rebuild. No upload, no review queue.
- Enterprise or kiosk devices managed outside the Play Store.
- Regions and devices without Play, and alternative stores that accept APKs.
The free tier covers every one of these. What free includes →
Can I get an APK out of an AAB?
Not with a phone. Google's bundletool can generate a "universal" APK from a bundle on a computer, and Play's internal-testing track gives testers an installable build — but for anything outside Play, build the APK directly. The builder does both from one project, so there is no reason to convert.
Which one do you need?
Going on Google Play? AAB, with Pro, signed by your own upload key. Anything else? APK, free. Both? Build the APK first to test on a real phone, then build the AAB from the same project with the same package name and a higher version code when you are ready to upload.