If you have built an Android app, you have probably seen both .apk and .aab files. They are not interchangeable on Google Play.
The short answer
Google Play uses Android App Bundles (.aab) for new apps and app updates. An APK is the installable package that ends up on a device.
You upload an AAB. Google Play generates optimized APKs for each device configuration.
What is an APK?
An APK is a package file that contains everything needed to install an app on an Android device. It is what you sideload, share for direct install, or use with some third-party stores.
APKs are still useful for:
- local testing;
- sharing a build with a tester outside Play;
- debugging;
- some enterprise distribution.
They are not the upload format Google Play wants for new apps.
What is an AAB?
An AAB is a publishing format. It contains your app's code and resources, but Google Play uses it to generate device-specific APKs. This can reduce download size because users only get the resources they need.
The AAB is signed with your upload key. Google Play handles the final signing with the app signing key when Play App Signing is enabled.
What to upload
For Google Play:
- upload an
.aabto internal, closed, open, or production tracks; - make sure the version code is higher than the previous upload;
- sign it with your upload key;
- test the generated build on a real device.
For direct testing outside Play:
- use an
.apkif you need to sideload; - remember that the Play-delivered build may differ slightly because of dynamic delivery.
Common mistakes
- Uploading an APK when Play expects an AAB.
- Reusing a version code.
- Signing with the debug key.
- Testing only the APK and not the Play-delivered build.
- Forgetting that dynamic feature modules may behave differently after delivery.
A note on testing
Testers who join a closed test install the app from Google Play. They do not need an APK from you. The Play-delivered build is the one that matters for the test.
If you need to share a build outside Play, use an APK, but do not confuse that with the closed-test install.
The short version
- Google Play uses AABs for new apps and updates.
- APKs are installable packages for devices.
- Upload an AAB, sign with your upload key, and test the Play-delivered build.
- Do not reuse version codes.
- Closed testers install from Play, not from a shared APK.
Next: publish your first app or Play App Signing.
Our team’s note
If this answered the question but your situation still feels messy, send us the screenshot or the rejection email. Some things are easier to solve in a two-minute conversation than another article.
