If you're new to mobile development, build formats can feel confusing fast. You'll hear APK, AAB, and TestFlight thrown around — but what do they actually mean? Let's break it down.

Android: APK vs AAB

What is an APK?

An APK is the file format Android devices actually install and run. Think of it as a zip containing your entire app — code, images, resources — for every possible device.

When you build an APK it includes everything: code for different processors, images for different screen densities, strings for different languages, all packed into one file.

Use APKs when:

  • Testing the app yourself
  • Sharing directly with testers
  • Distributing outside the Google Play Store

What is an AAB?

An AAB (Android App Bundle) is what you upload to Google Play — but users never see it directly.

When someone downloads your app, Google Play inspects their device and generates a custom APK containing only what that device needs. Smaller downloads, less wasted space.

The catch: AABs only work with Google Play. For direct distribution, you still need an APK.

Use AABs when:

  • Publishing to the Play Store (Google now requires AABs for all new apps)

Quick reference

Format Who uses it When
APK You or your testers Development, direct sharing
AAB Google Play Publishing to the Store

iOS: TestFlight

What is TestFlight?

TestFlight is Apple's official beta testing platform. You upload your build to Apple's servers, invite testers, and they install it through the TestFlight app — no App Store submission needed.

Key limits to know:

  • Builds expire after 90 days
  • Up to 10,000 external testers per app
  • Testers must accept an invite before installing

Keeping iOS builds lean

Apple applies App Thinning automatically, but you can still help:

  • Use asset catalogs for images
  • Exclude debug symbols from release builds
  • Audit third-party libraries for size

The short version

  • APK — what Android devices actually run; use during development and direct sharing.
  • AAB — what you give Google Play; it creates the right APK per device.
  • TestFlight — how you get iOS builds to testers before hitting the App Store.

Build with APKs, ship with AABs on Android. Test with TestFlight, release through the App Store on iOS.