1. Home
  2. Guides
  3. APK vs AAB

Guide

APK vs AAB: what's the difference?

Both files contain your app, but they are made for different jobs. Mixing them up is the most common reason a first Google Play upload fails.

Updated 2026-10-183 min readBy the APK Maker team
Short answerAn APK is the installable file that runs on an Android phone — use it to install directly or share. An AAB (Android App Bundle) is a publishing format that only Google Play accepts; Play turns it into optimised APKs for each device. New apps on Google Play must be uploaded as AAB.

Side by side

APKAAB
Full nameAndroid Package (Kit)Android App Bundle
Installs on a phoneYes, directlyNo — not installable by itself
Google Play (new apps)Not acceptedRequired since August 2021
Share by link, email, QRYesNo
Other storesWidely acceptedVaries by store
Signed byYou (or your builder)You with an upload key; Google re-signs for delivery

What an APK is for

An APK is a ZIP-format package with your app's code, resources, manifest and signature. Android installs it directly. Use APKs for testing on your own phone, sending a build to a client, distributing from your website, or sharing in a classroom — see sharing an APK without the Play Store.

What an AAB is for

An AAB contains everything needed to build APKs, split by screen density, CPU architecture and language. Google Play's servers generate and sign a tailored APK for each device ("Play App Signing"), so users download less. You cannot install an AAB on a phone by tapping it.

Which one do you need?

  • Only installing or sharing the app yourself → APK (free).
  • Publishing on Google Play → AAB (Pro), signed with a key you keep for every update — see app signing explained.
  • Both → build the AAB for Play and an APK for testing and direct sharing.

Can you convert APK to AAB?

Not reliably by renaming or repackaging. Build the AAB from the same project instead. With APK Maker, Pro builds output AAB directly from the same app settings.

What's inside each file

APK containsAAB contains
AndroidManifest.xml (binary)
classes.dex (compiled code)
resources.arsc, res/
assets/ (your bundled website)
lib/ (native libraries)
Signature (META-INF/ and/or signing block)
base/ module with manifest, dex, res, assets and lib folders split by type
Optional feature modules
BundleConfig.pb (how to split)
Bundle metadata
Upload-key signature

How an AAB reaches users

  1. You build an AAB and sign it with your upload key.
  2. Google Play verifies the upload key and stores the bundle.
  3. For each device, Play generates split APKs (base + density + CPU + language).
  4. Play signs them with the app signing key and delivers only what that device needs.

This is why a 20 MB AAB can install as a 9 MB download on one phone, and why App Links and sign-in services must know the Play app signing key — see app signing explained.

Testing an AAB yourself

Upload it to Play Console's internal testing track and install from the tester link — the fastest way. Developers can also generate APKs locally from an AAB with Google's bundletool.

Make your APK now — free

No Android Studio, no code, no watermark. Pick what you are starting from:

Frequently asked questions

Can I upload an APK to Google Play?

Not for new apps. Since August 2021 Google Play requires new apps to be published as an Android App Bundle (AAB).

Can I install an AAB file on my phone?

Not directly. An AAB is a publishing format; Google Play generates installable APKs from it.

Is an AAB smaller than an APK?

The AAB file can be larger, but the APKs Google Play generates from it are usually smaller for each user, because each device gets only what it needs.