Fact-checked by Grok 2 weeks ago

Android App Bundle

The App Bundle (AAB) is a format for Android applications, introduced by in 2018, that enables developers to package all compiled code and resources into a single signed binary file with the .aab extension. Upon upload to , the bundle allows the platform to dynamically generate and serve optimized Android Package Kit (APK) files customized for each user's device configuration, including factors like screen size, CPU architecture, and , thereby minimizing download sizes and improving app performance. This format replaces the need for developers to manually create and manage multiple APKs for different device variants, streamlining the distribution process while supporting advanced features like on-demand delivery of dynamic modules and assets. Key benefits of the AAB include significantly reduced app download sizes compared to universal APKs through the exclusion of unnecessary code and resources, which enhances by conserving data and storage. It integrates with Play Feature Delivery for modular app components and Play Asset Delivery for large assets in games, allowing conditional or on-demand loading to keep initial installs lightweight. The bundle's structure organizes content into modules such as a base module for core functionality, optional feature modules, and asset packs, all described via Protocol Buffer files that guide APK generation. Since August 2021, has required all new apps to be published using AABs, with existing apps encouraged to migrate for optimal serving; this mandate extends to TV apps from June 2023. Over one million apps and games now utilize AABs, accounting for billions of installs, and the format is supported by tools like , , and the open-source bundletool for building and testing. Compressed download sizes are capped at 200 MB for the base module and up to 4 GB total per device across all components, facilitating larger, more complex applications without compromising accessibility.

Overview

Definition and Purpose

The Android App Bundle (AAB) is a publishing format that includes all of an app's compiled code and resources, deferring APK generation and signing to Google Play. This approach allows Google Play to build and deliver APKs optimized for each user's specific device configuration, such as screen size, CPU architecture, and language preferences. The primary purpose of the AAB is to enable dynamic and personalized app delivery, ensuring that users download only the code and resources necessary for their device. By tailoring APKs on the server side, it significantly reduces initial download sizes compared to universal APKs and enhances installation speed, addressing inefficiencies in traditional APK distribution across Android's varied ecosystem. Launched by in 2018, the AAB format emerged as a solution to optimize app publishing for the diverse hardware landscape of devices, minimizing unnecessary assets and improving overall .

Core Components

The App Bundle (AAB) is structured around several core components that enable modular app construction, allowing developers to package code and resources in a way that supports optimized delivery tailored to device configurations. These components include the module, configuration-specific modules, asset packs, and integrated signing and , each contributing to the bundle's ability to reduce app size and improve delivery efficiency. The base module serves as the foundational element of an AAB, containing the core app functionality, the full Android manifest file, and essential resources that are shared across all device configurations. It includes compiled code such as DEX files, the base APK's resources like layouts and drawables, and declarations for services, permissions, and activities that apply universally. This module ensures that every installation receives the minimal set of assets necessary for basic operation, regardless of the user's device specifics. Configuration-specific modules extend the base by providing splits for device variations, including language locales, screen , Application Binary Interfaces (ABIs) for CPU architectures, and formats. For instance, modules contain localized strings and assets for specific regions, while ABI splits deliver native libraries optimized for architectures like ARM64 or x86. Screen and modules handle varying display resolutions and graphics formats, such as ETC2 or ASTC, ensuring that only relevant resources are downloaded and installed. These modules promote targeted delivery, minimizing the initial download size by excluding unnecessary variants. Asset packs represent a separate category of components designed for large, non-essential assets such as , files, or levels, which are delivered on-demand through Play Asset Delivery. Unlike core code modules, asset packs contain no executable content and are hosted on Play's servers, supporting delivery modes like install-time (bundled with the app), fast-follow (post-install download), or (runtime fetching). This separation allows apps, particularly graphically intensive ones like games exceeding 200 MB, to keep the base installation lightweight while enabling dynamic asset loading. Signing and metadata are integrated at the bundle level to facilitate secure processing by . The AAB is signed with an upload key by the developer, which verifies before applying an app signing key for distribution, enhancing security through key separation and enabling features like key rotation. in the BUNDLE-METADATA directory includes optimization details such as ProGuard mappings and DEX file lists, which are used by for processing but excluded from final APKs. This structure ensures integrity and provides tools for app store optimization without bloating the delivered packages.

History

Introduction and Development

The Android App Bundle (AAB) was developed by as a response to the limitations of traditional Android Package Kit () files, particularly the issue of large universal APKs that bundled unnecessary code and resources for specific devices, leading to bloated downloads and inefficient storage usage. Announced at 2018, the format aimed to leverage dynamic delivery mechanisms to optimize app distribution across Android's diverse ecosystem. This development was motivated by the growing complexity of Android hardware, including varying processor architectures (such as and x86), screen sizes, and densities, as well as the steady increase in average app sizes, which had exceeded 15 MB by 2018 and often included irrelevant assets for individual users. By building on earlier concepts like dynamic feature modules introduced alongside the announcement, AAB enabled to generate device-specific on the server side, reducing download sizes by up to 15% on average without requiring developers to manage multiple APK variants manually. Launched in 2018 as an optional publishing format for , AAB integration began with the Android Studio 3.2 canary release in May 2018, allowing developers to build and test bundles during the preview phase. The stable version of Android Studio 3.2, released on September 24, 2018, provided full production support, marking the format's early evolution toward broader adoption while remaining voluntary for app uploads.

Adoption Milestones

The adoption of Android App Bundles (AAB) accelerated following its initial launch, driven by policy mandates from and growing developer support. In August 2021, Google Play began requiring all new apps to be published using the AAB format, replacing traditional APKs to enable optimized, device-specific deliveries and reduce app sizes. This policy shift marked a pivotal enforcement point, ensuring that subsequent app releases on the platform would leverage AAB's modular architecture for better performance and user experience. Subsequent expansions of the mandate further solidified AAB's role in the ecosystem. By November 2021, while the core AAB requirement remained focused on new apps, related updates emphasized compatibility with (API level 30), indirectly promoting AAB migration for broader optimization. In June 2023, the requirement extended to TV apps, with ceasing support for APK-based updates; all new and existing TV app updates must now use AAB to facilitate efficient storage and delivery on devices like and . Growth metrics highlight AAB's rapid uptake. By August 2020, over 600,000 apps and games had already been published using AAB on , accounting for more than 40% of all releases and demonstrating early enthusiasm among for its efficiency gains. As of 2025, AAB has become the de facto standard publishing format on , with near-universal adoption for new apps and significant migration among existing ones, reflecting its integration into core development workflows. Ecosystem integration has further propelled adoption through tool enhancements and multi-platform support. has provided native AAB building capabilities since version 3.2 in 2018, with ongoing updates streamlining bundle configuration and testing. Third-party tools, including and , added AAB export options by 2019-2020, enabling cross-framework compatibility. Beyond , app stores like the began supporting AAB submissions around 2021, allowing developers to generate optimized APKs from bundles for distribution on devices. This broader tooling and store compatibility has minimized barriers to adoption, positioning AAB as a cornerstone of modern app publishing.

Technical Architecture

Bundle Structure

The Android App Bundle (AAB) is a signed in ZIP archive format that organizes an app's code and resources into distinct modules for optimized delivery. This structure allows developers to package the entire app, including compiled code, resources, and assets, without generating device-specific APKs during the build process. At its core, the AAB contains a BUNDLETOOL_VERSION entry and a BundleConfig.pb file, which encodes metadata such as the bundletool version used for building, compression settings, and module configurations in Protocol Buffer format. The bundle is divided into modules, primarily a base module in the base/ directory and optional split modules (such as feature or dynamic-delivery modules) in named directories like feature1/ or dynamic1/. Each module includes essential files: an AndroidManifest.xml in a manifest/ subdirectory declaring the module's components and permissions; a resources.arsc file in the res/ directory serving as the compiled resource table; DEX files in a dex/ directory for executable code; resources in res/ subdirectories (e.g., drawable/, values/); native libraries in lib/; and raw assets in assets/. Additional supports advanced optimizations, such as assets.json in the BUNDLE-METADATA/ for indexing asset packs and enabling . Similarly, densities.json lists supported screen densities to facilitate splits, while resources.pb defines resource configurations for generating tailored APKs based on device characteristics like language or screen size. The base module, which must be present, houses the core app functionality and is referenced briefly as the foundational element among core components.

APK Generation and Optimization

Upon uploading an (AAB) to , the platform employs bundletool, Google's command-line tool, to process the bundle and generate optimized, device-specific . This generation occurs server-side and dynamically assembles tailored to the requesting device's configuration, such as CPU (e.g., ARM64 or x86), screen (DPI), , and supported features. The process extracts only the relevant code and resources from the AAB's modular components, resulting in a base that contains the core application manifest and essential elements, supplemented by configuration-specific split for additional optimizations. Optimization techniques integrated into this generation include code shrinking, which removes unused code paths via tools like R8 or ProGuard, and resource shrinking, which eliminates redundant assets while compressing files such as images and XML to minimize payload sizes. Split APKs further enhance efficiency by segregating content into targeted modules—for instance, density-specific resources or feature-based components—avoiding the inclusion of irrelevant data that would inflate universal APKs. These methods, combined with the AAB's inherent modularity, enable support for on-demand delivery of dynamic feature modules through Play Feature Delivery, where non-essential parts are downloaded only when needed by the user. In the delivery flow, serves the minimal base alongside the required split APKs to the user's device, ensuring the initial compressed download size remains at or below 200 to comply with platform limits and promote faster installations. For larger applications exceeding this threshold, expansions via on-demand feature modules or Play Asset Delivery allow additional content to be fetched post-installation, maintaining overall app sizes up to 4 GB when including all modules and asset packs. This targeted approach reduces bandwidth usage and storage demands compared to traditional monolithic APKs.

Benefits

Advantages for Developers

The Android App Bundle (AAB) streamlines the publishing process for developers by allowing a single bundle upload to , which automatically generates and signs optimized for various device configurations, eliminating the need to manually build and manage multiple APK variants. This approach reduces complexity, as developers no longer have to handle signing for each APK split, with Play App Signing securely managing the app signing key to prevent loss or compromise and ensuring consistent signatures for updates. Over 1 million apps and games on utilize AABs, demonstrating its widespread adoption for efficient distribution across app stores. Testing efficiency is enhanced through tools like bundletool, which enables local generation of APK sets from an AAB without requiring the full Play Console infrastructure, allowing developers to deploy and test on emulators or physical devices via ADB for specific configurations such as screen densities or languages. This facilitates verification of feature modules and on-demand downloads in a controlled environment, estimating download sizes to ensure compliance with restrictions, and supports code transparency to inspect distributed artifacts against originals. By emulating Google Play's delivery process locally, developers can iterate quickly without repeated uploads, minimizing development cycles. For analytics and updates, AAB integrates seamlessly with Google Play's staged rollouts, enabling developers to release updates to a gradual percentage of users—starting as low as 5%—to monitor performance metrics like crash rates via Vitals before full deployment, thus reducing risks associated with broad releases. This is complemented by easier through Play Console experiments and reduced maintenance for configuration splits, as the bundle format automatically handles resource optimization, avoiding manual variants for different ABI or screen sizes. Additionally, features like Play Feature Delivery allow modular updates that can be rolled out on demand, further simplifying maintenance for large apps exceeding 200 MB by replacing legacy expansion files.

Advantages for Users

The Android App Bundle (AAB) format delivers significant benefits to end users by optimizing app delivery through , ensuring that only the essential components tailored to a user's , , and are downloaded. This results in reduced initial sizes, with official reports indicating average savings of 20% compared to traditional APKs, as the bundle excludes unnecessary code and resources such as unused strings or screen variants. For instance, a configured for English and a specific screen receives solely the relevant assets, minimizing usage and requirements without compromising functionality. Faster installations are another key advantage, as Play generates device-specific APKs from the bundle that load more efficiently on diverse configurations, avoiding the overhead of bloated universal files. On-demand delivery of dynamic feature modules further enhances this by deferring non-essential content until needed, preventing upfront bloat and allowing quicker access to core app features. This optimization is particularly beneficial for users on varied devices, where tailored APKs reduce time and improve overall . AAB improves accessibility for users in low-bandwidth regions or on storage-constrained devices by supporting smaller, incremental updates and conditional feature delivery, which helps overcome connectivity and capacity barriers common in emerging markets. Google Play data shows that smaller app sizes directly correlate with higher install success rates, with every 6 MB reduction in download size potentially increasing conversion by 1%, leading to fewer abandoned installations.

Comparison to APK

Key Differences

The Android App Bundle (AAB) and the traditional Android Package () represent two distinct approaches to packaging and distributing applications, with AAB serving as a modern publishing format introduced to enhance optimization and efficiency over the longstanding method. While have been the standard installable format since 's inception, AAB shifts the responsibility of generation to distribution platforms like , enabling tailored delivery. This comparison highlights fundamental contrasts in their design, functionality, and implications for developers and users.
AspectAndroid App Bundle (AAB)Traditional APK
Format ScopeA publishing format that bundles all compiled code and resources but cannot be directly installed on devices; it serves as input for generating multiple optimized s.A single, self-contained installable file that includes all necessary code, resources, and metadata for direct deployment on devices.
Delivery ModelEnables server-side processing by platforms like to generate and deliver device-specific s, supporting automatic splits based on configuration (e.g., , screen density) without manual variant creation.Requires to manually build and manage multiple APK variants for different device configurations, leading to potential redundancy and broader distribution challenges.
Size and ModularityNatively supports dynamic feature modules via Play Feature for on-demand loading and asset packs via Play Asset for optimized resource handling, allowing base APK sizes up to 200 MB and total downloads up to 4 GB with modular expansion.Permits APK splits for configuration-specific optimizations but lacks built-in support for dynamic features or dedicated asset delivery, relying instead on legacy expansion files (OBBs) that are less integrated and not compatible with AAB workflows.
These differences underscore AAB's role in reducing app size and improving delivery efficiency, as can assemble APKs that exclude unnecessary components for each user's device, in contrast to the monolithic nature of APKs. For instance, AAB's modularity allows features to be downloaded only when needed, enhancing initial install times compared to APKs where all content is included upfront. Since August 2021, has required new apps to use AAB for publishing, reflecting this shift toward more scalable distribution.

Migration Strategies

To migrate an existing APK-based Android project to the Android App Bundle (AAB) format, developers should begin by updating the build configuration to support bundle generation. This involves upgrading to Android Gradle Plugin (AGP) version 3.2.0 or higher, which introduced AAB support, and ensuring the project uses 4.6 or later for . Once updated, refactor the into modular components if leveraging dynamic ; create feature modules via by applying the com.android.dynamic-feature plugin in the module's build.gradle file and declaring dependencies on the base app module. Enable Play Feature by adding the feature module to the base module's dynamicFeatures list and configuring options in the feature manifest, such as <dist:on-demand /> for conditional downloads. Common pitfalls during migration include issues with legacy APK splits or custom signing setups. If the project relies on manual APK splits for ABI or density variants, these must be removed, as AAB handles such optimizations automatically via Play's servers; failure to consolidate can result in build errors or oversized bundles. Custom signing configurations may conflict with Play App Signing, which is required for AAB uploads—developers must enroll in Play App Signing and upload an upload key rather than the app signing key, or risk upload failures. To verify compatibility, test the bundle locally using bundletool's install-apks command, which generates and installs device-specific s from the AAB; this helps identify runtime issues like missing resources or module loading failures before publishing. Best practices emphasize a phased approach to minimize disruption. Start by building and uploading AABs alongside as optional releases in the Console's internal testing track, allowing validation of functionality without affecting production users. Monitor key metrics in the Play Console, such as download sizes and crash rates from split APKs, to assess performance gains—typically 15% smaller downloads compared to universal APKs. Align full with Play's 2021 mandates, which required AAB for all new apps starting August 2021, while existing apps could continue with APK updates but benefit from switching for optimized delivery. For apps exceeding 200 MB, prioritize enabling dynamic feature modules early to stay under the 4 GB compressed bundle limit.

Implementation Guide

Building the Bundle

To build an Android App Bundle (AAB), developers require version 3.2 or higher, which integrates support for bundle creation through its build system, along with the build tool via the Android Gradle Plugin (AGP) version 3.2.0 or later. For command-line operations independent of the , bundletool—a command-line tool provided by —must be downloaded and used; it handles bundle generation, APK extraction, and local testing from AABs. The build process begins with configuring the module-level build.gradle file to enable bundle output. Within the android block, developers specify bundle settings, such as enabling density or ABI splits for optimization, for example:
android {
    bundle {
        density {
            enableSplit = true
        }
        abi {
            enableSplit = true
        }
    }
    signingConfigs {
        release {
            storeFile file("my-release-key.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}
This configuration ensures the bundle is generated in a signed format suitable for release. To produce the signed AAB, run the Gradle wrapper command ./gradlew bundleRelease from the project root directory, which compiles the code, packages resources, and outputs the app-release.aab file in the app/build/outputs/bundle/release/ directory. For verification, bundletool can generate a set of test APKs from the AAB using the build-apks command, such as bundletool build-apks --bundle=app-release.aab --output=app.apks --ks=keystore.jks --ks-pass=pass:password --ks-key-alias=keyAlias --key-pass=pass:password, allowing installation on a device or emulator with bundletool install-apks --apks=app.apks to confirm functionality. Sizes and splits can then be checked using bundletool's get-size command, for instance bundletool get-size total --apks=app.apks, which reports estimated download sizes for the generated APKs and highlights split configurations like ABI or density variants. This process ensures the bundle adheres to the expected structure, including base and configuration modules, before further deployment.

Publishing Process

The publishing process for Android App Bundles (AABs) involves uploading a signed bundle to the Google Play Console, where Google handles optimization and distribution. Developers must enroll in Play App Signing prior to upload, a requirement for new apps since August 2021 that delegates app signing key management to Google's secure infrastructure for enhanced protection against key loss or compromise. Once enrolled, the AAB is built and signed with an upload key, then submitted via the Play Console's "Create new release" workflow. Google Play automatically generates and signs optimized, device-specific APKs from the bundle, staging the release in testing tracks for validation: the internal track for up to 100 trusted testers in quick QA cycles, the closed track for targeted pre-release groups via opt-in links, or the open track for broader public testing with store listing visibility. These tracks allow iterative testing before production rollout, with internal tests propagatable in hours and closed/open tests supporting concurrent versions alongside production. Updating an AAB requires incrementing the bundle version code, an internal that must exceed the prior release's value (up to a maximum of 2100000000) to enable upgrades and block downgrades on user devices. The updated signed AAB is uploaded similarly, with facilitating phased rollouts that distribute the update to an initial percentage of users (from 1% to 100%), adjustable in or test tracks to minimize risk. During rollouts, developers can monitor user eligibility—randomly selected across new and existing users—and pause or halt if needed, ensuring the same cohort remains consistent across adjustments. This process integrates with Play Console's crash analytics, providing filtered views of crash rates, errors, and stability metrics by track to guide safe expansion. Key policies govern AAB publishing, including a maximum compressed download size of 4 GB for the cumulative total of all modules and install-time asset packs. Apps larger than 1 GB must target 5.0 ( level 21) or higher. Apps exceeding 200 MB may trigger warnings for users on cellular networks. As of November 2025, new apps and updates must target 15 ( level 35) or higher. Additionally, starting November 1, 2025, apps targeting 15 or higher must support 16 KB page sizes, requiring Build-Tools version 35.0.0 or higher and the . Play App Signing enforces these through secure key handling via Google's Key Management Service, including support for APK Signature Scheme v4 on + devices, while requiring acceptance of terms and permission for release management. Non-compliance, such as exceeding size limits without optimization, prevents upload and distribution.

Advanced Features

Dynamic Feature Modules

Dynamic feature modules enable developers to modularize Android applications by separating non-essential functionality into independent components that can be delivered separately from the base application within an (AAB). These modules are packaged as split , allowing to generate and deliver only the necessary parts based on device configuration, user behavior, or other conditions, thereby optimizing the initial download and installation process. For instance, in a social app, a might be excluded from the base and downloaded when the user accesses messaging features. To implement dynamic feature modules, developers apply the com.android.dynamic-feature plugin in the 's build.gradle file and declare a dependency on the base app . Delivery options—such as , install-time, or conditional—are configured in the 's AndroidManifest.xml using <dist:module> and <dist:delivery> elements; for delivery, the is marked to exclude it from initial installation. At runtime, the Play Feature Delivery library's SplitInstallManager handles requests, as shown in the following Kotlin example for requesting a named "pictureMessages":
kotlin
val splitInstallManager = SplitInstallManagerFactory.create(context)
val request = SplitInstallRequest.newBuilder()
    .addModule("pictureMessages")
    .build()
splitInstallManager.startInstall(request)
    .addOnSuccessListener { missionId ->
        // Handle successful install
    }
    .addOnFailureListener { exception ->
        // Handle error
    }
Developers must also integrate SplitCompat in the base application's Application class to ensure seamless access to module resources and code post-. This setup supports 5.0 ( level 21) and higher, with a recommendation to limit removable install-time modules to 10 or fewer to minimize installation time. In practice, dynamic feature modules significantly reduce the initial download size by deferring non-critical components, improving user retention on slower networks or devices with limited storage; for example, a marketplace can modularize features like payments or selling tools, delivering them only to relevant users and potentially lowering the base by excluding unused code and resources. This approach also enables conditional delivery based on device capabilities, such as downloading features only for supported , enhancing overall performance and without increasing the core bundle size.

Asset Delivery

Asset packs in App Bundles enable the efficient delivery of large, non-executable assets such as textures, shaders, sounds, and videos, which are bundled separately to optimize app size and download experience. These packs are collections of assets hosted on and delivered through Play Asset Delivery (PAD), a that replaces legacy expansion files (OBBs) for apps exceeding 200 MB. PAD allows developers to publish a single app bundle artifact while deferring the delivery of these assets based on user needs, ensuring faster initial installs and reduced storage requirements. Asset packs are structured as archive files containing the assets, with install-time packs delivered as split APKs integrated into the initial app , while fast-follow and packs are provided as standalone archives post-. There are three primary delivery types: install-time assets, which are downloaded and installed alongside the base app and count toward the app's Play Store size; fast-follow assets, which are automatically downloaded immediately after without user intervention and do not contribute to the initial app size; and assets, which are fetched dynamically during app runtime only when required, further minimizing upfront downloads. This tiered approach supports progressive loading, where critical assets are prioritized for immediate access, and supplementary ones are deferred. To integrate asset packs, developers configure them within the Android App Bundle using build tools like bundletool, specifying delivery modes and asset locations in the bundle configuration, then upload the bundle via the Console for hosting and distribution. The from the Play Core library is used in the app to request packs, monitor download status (such as progress, completion, or errors like network failures), and access asset locations once available, enabling robust handling of asynchronous delivery. For example, developers can query pack states with methods like getPackStates() to ensure assets are ready before use, and handle errors through callbacks. Asset packs are particularly suited for resource-intensive applications like games requiring high-resolution graphics, where they facilitate delivering expansive content without inflating the core app size—for instance, titles such as and GWENT leverage PAD to provide enhanced visuals and audio. As of 2025, each individual asset pack is limited to 1.5 GB, with cumulative totals for install-time packs capped at 4 GB, and on-demand or fast-follow packs at 4 GB for standard (up to 30 GB for those in the Level Up program or Android XR titles); these limits are separate from the base bundle size, allowing total app downloads up to 8 GB (or 34 GB for eligible programs). This complements dynamic feature modules by focusing solely on non-code assets, enabling modular content expansion without altering app functionality.

Limitations and Considerations

Known Challenges

One significant challenge with Android App Bundles (AABs) is limited compatibility outside the Play Store, where direct installation is not supported, requiring s to use the open-source bundletool to generate device-specific APKs for or alternative distribution channels. This process adds an extra step compared to traditional APKs, which can be installed directly, and may lead to issues like crashes when using native libraries in sideloaded apps if not properly configured. Additionally, dynamic feature modules is more complex than with monolithic APKs, as local testing often necessitates emulating Play's delivery mechanisms via bundletool or uploading to the Play Console's internal , rather than simple direct installation. Regarding size and performance, AABs enable dynamic feature delivery, but this introduces potential for incomplete offline access to app features, as on-demand modules must be downloaded separately and are not included in the initial base unless pre-installed. This can result in users encountering unavailable functionality in offline scenarios if the module has not been fetched previously. Furthermore, testing split APKs generated from AABs across device configurations increases complexity, demanding verification of multiple variants for architectures, languages, and densities using tools like bundletool, which can complicate comprehensive compared to single-APK testing. Since November 1, 2025, requires all new apps and updates targeting 15 ( level 35) or higher to support 16 KB page sizes for with future devices. This poses challenges for AABs containing native code or third-party libraries, which may require recompilation with updated toolchains, library updates (e.g., for , , ), or adjustments to avoid performance degradation or crashes. Apps without native code are generally compatible without changes, but developers must verify using tools like the App Bundle Explorer in Play Console and 16 KB emulators in . Non-compliance can lead to app rejection. Benefits include 3%-30% faster app launches and 4.5% better battery usage, but the transition adds development overhead. As of 2025, developer feedback highlights longer build times when deploying AABs from , due to the additional processing for generating and installing optimized splits, as well as a notable associated with modularization for dynamic features. A systematic study of real-world AABs notes that configuring and building bundles remains time-consuming and error-prone for many developers, particularly in managing dependencies and ensuring split integrity. Despite these hurdles, the efficiency gains in app size and delivery often outweigh the challenges for most projects targeting .

Future Developments

At 2025, Google announced enhancements to that include proactive warnings for Android App Bundles (AABs) incompatible with 16 KB page sizes, enabling developers to test and optimize bundles for future hardware configurations using a dedicated . These updates aim to improve bundle compatibility and performance as devices evolve, with APK Analyzer tools now identifying potential issues during development. Integrations with AI tools like 2.5 Pro in are facilitating smarter optimizations for bundles, including automated transformations and preview generation that indirectly support more efficient asset handling and delivery configurations. Additionally, the introduction of Play Policy Insights in provides lint checks to ensure bundles comply with evolving policies, streamlining publishing for broader distribution beyond the Play Store via bundletool's open-source capabilities. Google's roadmap emphasizes adaptive app development for diverse form factors, with I/O 2025 highlights on building AABs that seamlessly support foldable devices and emerging / experiences through finer-grained splits and dynamic feature modules. Android 16 includes enhanced job scheduling and profiling APIs that can reduce bundle-related latency by optimizing startup flows and resource delivery (as of Android 16, released June 2025). These developments build on AAB's established adoption, focusing on seamless updates and reduced download sizes for next-generation Android ecosystems.

References

  1. [1]
    Android App Bundle frequently asked questions | Other Play guides
    Jul 21, 2025 · The Android App Bundle (AAB) is a publishing format for Android that is supported by Google Play and other app stores, and by build tools.
  2. [2]
    About Android App Bundles | Other Play guides
    Jul 21, 2025 · An Android App Bundle is a publishing format that includes all your app's compiled code and resources, and defers APK generation and signing to Google Play.Create an instant-enabled app... · Build and test your app bundle · App Licensing
  3. [3]
    The Android App Bundle format | Other Play guides
    Jul 21, 2025 · An Android App Bundle is a file (with the .aab file extension) that you upload to Google Play. App bundles are signed binaries that organize your app's code ...
  4. [4]
  5. [5]
  6. [6]
    Other Play guides  |  Android Developers
    ### Summary of Asset Packs in Android App Bundle
  7. [7]
    Sign your app | Android Studio
    Jan 24, 2025 · This page guides you through some important concepts related to app signing and security, how to sign your app for release to Google Play using Android Studio,About Android App Bundles · Upload your app to Google Play · Known issues
  8. [8]
    I/O 2018: Everything new in the Google Play Console
    May 8, 2018 · The Android App Bundle is Android's new publishing format, with which you can more easily deliver a great experience in a smaller app size, and ...
  9. [9]
    Google's new Android App Bundles promise to make ... - TechCrunch
    May 8, 2018 · Google today announced Android App Bundles, a new tool for developers that will make apps radically smaller.
  10. [10]
    Android Studio 3.2 Canary - Android Developers Blog
    May 8, 2018 · With no code changes, Android Studio 3.2 will help you create a new Android App Bundle and have it ready for publishing on Google Play.
  11. [11]
    Android Studio 3.2 - Android Developers Blog
    Sep 24, 2018 · Android Studio 3.2 is the best way for app developers to cut into the latest Android 9 Pie release and build the new Android App bundle.
  12. [12]
    Inspect app versions on the Latest releases and bundles page
    Starting August 2021, new apps are required to publish with the Android App Bundle on Google Play. New apps larger than 200MB can use either Play Asset ...
  13. [13]
    New Android App Bundle and target API level requirements in 2021
    Nov 19, 2020 · From November 2021, updates to existing apps will be required to target API level 30 or above and adjust for behavioral changes in Android 11.Missing: 2023 | Show results with:2023
  14. [14]
    Recent Android App Bundle improvements and timeline for new ...
    Aug 4, 2020 · In a little over two years, the Android App Bundle has become the gold standard for publishing on Google Play. ... app is released to Play.
  15. [15]
    App Bundles | App Submission - Amazon Developers
    Sep 30, 2025 · The Amazon Appstore supports the Android App Bundle file format for app submission. The Appstore receives your app bundle and generates APKs.Test App Bundles · App Bundle Faq · App Bundle FeaturesMissing: Studio third- party tools
  16. [16]
    bundletool | Android Studio
    Apr 11, 2024 · bundletool is the underlying tool that Android Studio, the Android Gradle plugin, and Google Play use to build an Android App Bundle.<|control11|><|separator|>
  17. [17]
    Reduce your app size | App quality - Android Developers
    Upload your app with Android App Bundles; Understand the APK structure; Reduce resource count and size. Remove unused resources; Minimize resource use from ...Missing: bloat | Show results with:bloat
  18. [18]
    Overview of Play Feature Delivery | Other Play guides
    Play Feature Delivery uses advanced capabilities of app bundles, allowing certain features of your app to be delivered conditionally or downloaded on demand.Configure on demand delivery · Configure instant delivery · Additional resources
  19. [19]
    Use Play App Signing - Play Console Help
    ### Summary: How Play App Signing Simplifies Signing and Publishing for Android App Bundles
  20. [20]
    Build and test your Android App Bundle | Other Play guides
    Jul 21, 2025 · This page provides an overview of the various strategies available for you to test your app at each stage of development.
  21. [21]
  22. [22]
    App Bundles for Google TV and Android TV
    Nov 21, 2022 · Google TV and Android TV will be requiring Android App Bundles that are archivable starting in May 2023 to save storage for users.Missing: June | Show results with:June
  23. [23]
    Shrinking APKs, growing installs
    Nov 20, 2017 · For every 6 MB increase to an APK's size, we see a decrease in the install conversion rate of 1%. In a world where marketing teams use A/B tests ...
  24. [24]
    Optimize your app's size and stay within Google Play app size limits
    The Active devices with <2GB free and Uninstalls on devices with <2GB free ... If you publish apps using the Android App Bundle, you can view a chart ...
  25. [25]
    Build multiple APKs | Android Studio
    Caution: Since August 2021, all new apps must be published as App Bundles. If you publish your app to Google Play, build and upload an Android App Bundle.Missing: key | Show results with:key<|control11|><|separator|>
  26. [26]
    Upload your app to the Play Console | Android Studio
    Jun 17, 2025 · In the Play Console, you can use the "Latest bundles" section in the "Latest releases and bundles" page to see all APK artifacts that Google ...
  27. [27]
  28. [28]
  29. [29]
    Android Studio Otter | 2025.2.1  |  Android Developers
    ### Summary: Android Studio 3.2 Release Date and Android App Bundle Support
  30. [30]
    Build your app from the command line | Android Studio
    Jul 15, 2024 · However, if you need to build an app bundle from the command line, you can do so by using either Gradle or bundletool , as described in the ...
  31. [31]
    Set up an open, closed, or internal test - Play Console Help
    Create an additional test track. Open Play Console and go to the Closed testing page (Testing > Closed testing). Near the top right of the page, select Create.
  32. [32]
    Version your app | Android Studio
    Aug 20, 2025 · If your app requires a specific minimum version of the Android platform, you can specify that version requirement as API level settings in the ...
  33. [33]
    Release app updates with staged rollouts - Play Console Help
    You can release an app update to production and test tracks using a staged rollout. With a staged rollout, your update reaches only a percentage of your users.
  34. [34]
    View crashes and application not responding errors - Play Console ...
    Using Play Console, you can view data for crashes and application not responding (ANR) errors for your apps. Data comes from Android devices whose users ...
  35. [35]
    Optimize your app’s size and stay within Google Play app size limits - Play Console Help
    ### Summary of App Size Limits for Android App Bundles on Google Play
  36. [36]
    Configure on demand delivery | Other Play guides
    This page helps you add a feature module to your app project and configure it for on demand delivery.
  37. [37]
    Integrate asset delivery (Kotlin and Java) | Other Play guides
    The Play Asset Delivery Java API provides the AssetPackManager class for requesting asset packs, managing downloads, and accessing the assets.
  38. [38]
  39. [39]
    App Bundle and Sideloading: how to prevent crashes - ObjectBox
    Jul 15, 2019 · Read here, why the new Google Android App Bundle format can cause sideloading crashes when using a native library. Learn how to fix it.
  40. [40]
    Navigation with Dynamic Feature Modules | by Jesper Åman
    Nov 13, 2019 · The best way to test behaviour with dynamic feature modules is to upload the bundle to an internal test track on Google Play, the bundletool ...Missing: debugging | Show results with:debugging
  41. [41]
    [PDF] A Systematic Study on Real-world Android App Bundles
    By investing in over 200,000 apps from Google Play, we find that 30% of apps have already adopted app bundles. The adoption ratio of large-size apps is even ...Missing: statistics | Show results with:statistics
  42. [42]
    Google I/O 2025: What's new in Android development tools
    May 20, 2025 · Let's build the future of Android apps together! Explore this announcement and all Google I/O 2025 updates on io.google starting May 22.
  43. [43]
    Google I/O 2025: Build adaptive Android apps that shine across form ...
    May 20, 2025 · Key updates from Google I/O 2025 highlight the importance of adaptive app development for reaching users across various Android devices.Missing: Bundle AR/
  44. [44]
    Android 16 features and changes list - Android Developers
    Android 16 includes improved accessibility APIs, new camera features, enhanced connectivity, and ART updates for performance.