Deliver apps and features on demand with the Android App Bundle

By publishing your apps using the Android App Bundle, you can reduce the size of your app, simplify releases, and deliver features on demand. Because of its added benefits, the Android App Bundle is the recommended publishing format on Google Play.

How app bundles work

App bundles use a new serving model, known as Google Play’s Dynamic Delivery, to build and deliver APKs that are optimized for each device configuration. By removing unused code and resources for other devices, this delivery model results in a smaller, more efficient app for users to install.

Note: To use app bundles, you must enroll in app signing by Google Play.

Dynamic features
With app bundles, you can use the Play Core Library to include dynamic feature modules that users can download and install on demand. Learn more about dynamic feature modules.
Google Play Instant
App bundles support instant experiences that let users try your app or game without installing it. By providing users with an instant experience, you can improve discovery of your app and drive more installations.
Additional languages
By default, Play delivers an app’s language resources that match the languages selected in a device’s settings. If your app has its own in-app language picker, you can use the additional languages API to let users access and download additional language resources on demand.

Benefits of uploading an app bundle

With app bundles, you only need to build, sign, and upload a single artifact in order to support optimized APKs for a wide variety of device configurations. Google Play then manages and serves your app's APKs for you. As a result, you don't need to manage version codes for each combination of ABI, screen density, and locale that you want to support. Also, by using app bundles, you can benefit from ongoing improvements that are added to the delivery process.

Compared to APKs, app bundles:

  • Have smaller download sizes and smaller size on disk
  • Can use uncompressed native libraries (Android 6.0 and up) that are stored on the APK instead of the user’s device, which can lower download sizes, size on disk, and installation times
  • Serve users the functionality and configurations they need on demand, instead of during installation
  • Simplify build and release management by removing the need to build and publish multiple APKs

When you upload an app bundle to your Play Console, Google Play sends an optimized binary for the device.

  • Android 5.0 and up: Play will generate a base APK, configuration APKs, and dynamic feature APKs (if applicable)
  • Below Android 5.0: Play will generate multi-APKs server-side

Customize feature delivery

If you have permission to "Manage testing track releases" on the Play Console, you can publish modular app bundles with dynamic feature modules to any release track.

Important: To use dynamic feature modules, review the dynamic feature modules documentation for Android Studio and learn how to incorporate them into your app.

You can deliver dynamic feature modules in a few different ways:

  • Conditional delivery: Modules are delivered at install time based on conditions such as user country, device features, and minimum SDK version..
  • On demand delivery: Install and uninstall modules as needed, instead of delivering them to all users for the lifetime of your app.
  • Instant experiences: Modules can be instant-enabled to offer instant experiences from links and the Try Now button on your app’s store listing that don’t require a user to install your app first.

Review your app bundle details

To view and download the APKs that Google Play generates from your app bundle:

  1. Go to your Play Console.
  2. Select an app.
  3. On the left menu, select Release management > App releases.
  4. Next to the track that contains the app bundle that you'd like to view, select Manage.
  5. Under "App bundles added," select the app bundle that you'd like to view.
  6. Select Explore app bundle.
  7. Select the APKs per device configuration or Auto-generated multi-APKs tab.
    • APKs per device configuration: This tab includes the base, configuration, and dynamic feature APK details that are served to devices running Android 5.0 and up.
    • Auto-generated multi-APKs: This tab includes multi-APKs that are served to devices running anything lower than Android 5.0. These APKs benefit from screen density and ABI optimizations, but they include every language. If your app's minSdkVersion is at least Android 5.0 (API level 21), you won't see this tab.

APK details and downloads

To view details about APKs generated from your app bundle, go to the top of the screen and select an app bundle from the drop-down.

Size savings

View the size savings you gained by publishing an app bundle.

Size savings are based on the APK received by a popular device configuration, compared to the universal APK (which contains all of your resources, code, and assets). Size savings typically come from sending optimized language, density, and ABI resources per device.

Download generated APKs

To test your app on a device, download the generated APKs for each device configuration by selecting the download arrow .

APK details

View details about screen density, ABI, and installed APK size.

APKs generated from app bundles have a maximum size limit. If your APK has a compressed size at the time of download that’s higher than 150MB, you'll see a red error icon in the "Installed APK size" column. Select the row with the error to find the devices where your app bundle is generating large APKs. Reduce the size of your app, then upload a new app bundle.

Related content

Was this helpful?
How can we improve it?

Need more help?

Sign in for additional support options to quickly solve your issue