DevOps & CI/CDEasy20 XP3 min read
What is the difference between APK and App Bundle in Flutter?
TL;DR: APK is a complete, self-contained installable package. App Bundle (.aab) is a publishing format — Google Play splits it into device-specific APKs, reducing download size by 20-40% for end users.
Full Answer
| Aspect | APK | App Bundle (AAB) |
|---|---|---|
| Installable | Yes — directly on device | No — compiled by Google Play |
| Size | Contains all ABIs + resources | Google Play delivers only needed assets |
| Distribution | Direct download, third-party stores | Google Play only |
| Flutter command | flutter build apk | flutter build appbundle |
| Recommended | Testing, side-loading | Google Play production releases |
🎯
Google Play has required App Bundles for new apps since August 2021. Use flutter build appbundle for all production Play Store releases.
Code Examples
bashBuilding APK and App Bundle
Output
// AAB: ~20-40% smaller downloads vs universal APK // --split-per-abi: separate APKs per CPU architecture
Common Mistakes
- ✗Uploading a universal APK to Google Play instead of an AAB — rejected since 2023 for new apps
- ✗Not using --split-per-abi for APK testing — a universal APK is unnecessarily large
Interview Tip
💡
Mention that --obfuscate + --split-debug-info is critical for production releases. Without it, stack traces in Firebase Crashlytics are readable but so is your code logic.
#app-bundle#aab#apk#google-play#split-apk