Category Page

Category:

Android App Bundle: Get started

February 7th, 2025 by

What is Android App Bundle?

The Android App Bundle (AAB) is an innovative app publishing format introduced by Google to enhance the development, distribution, and user experience of Android applications. Unlike traditional APKs (Android Package Kits), which are directly installed on user devices, the App Bundle is a more efficient .aab file that contains all necessary resources, assets, and code. Google Play processes this bundle to generate optimized APKs tailored to individual devices, ensuring a smaller app size and improved delivery efficiency. 

 

Think of the App Bundle as a dynamic and modular container that allows developers to streamline app building while providing users with a customized, lightweight experience. 

Key Features of Android App Bundle

1. Dynamic Delivery 

App Bundles utilize Google Play’s Dynamic Delivery system, ensuring that users only download the necessary resources for their specific device configurations, such as screen density, CPU architecture, and language packs. This eliminates unnecessary bloat, making app downloads faster and more efficient. 

 

2. On-Demand Features 

With Dynamic Feature Modules, developers can provide optional features that users can install later instead of bundling everything at once. This reduces the initial download size, enhances flexibility, and improves the overall user experience by allowing users to personalize their app features. 

 

3. Smaller App Size 

By excluding unnecessary resources, App Bundles significantly reduce the app’s overall size. This is especially beneficial for users with limited storage capacity as they no longer need to download assets that are irrelevant to their device. Reduced app size also improves installation speed and performance. 

 

4. Google-Managed App Signing 

Google Play manages the signing of APKs generated from the App Bundle, ensuring security and seamless updates. This eliminates the need for developers to manually handle key management, reducing the risk of key loss or compromise and ensuring app integrity. 

 

5. Backward Compatibility 

App Bundles are compatible with devices running Android Lollipop (API level 21) and above. This means developers can adopt the AAB format without worrying about excluding users with older Android versions, making it a flexible solution for app distribution. 

Benefits of Android App Bundle (.aab)

    • Simplified Development & Deployment: Developers write less code and push apps to the Play Store more efficiently without needing to manage multiple APKs. The streamlined build process helps reduce complexity.

       

    • Storage Optimization: Users save storage space by downloading only the required APKs instead of a monolithic file, making the app more space-efficient.

       

    • Uncompressed Native Libraries: On Android 6.0 and above, app bundles store uncompressed native libraries inside APKs rather than the user’s device, reducing both download size and disk usage.
       
    • Efficient Feature Management: Users can install functions on demand rather than downloading all features during the initial installation, providing a tailored experience.

       

    • Easier Build & Release Management: Developers no longer need to build and maintain multiple APK variants for different device configurations, saving time and effort in the release cycle. 

How Android App Bundle Works

The Android App Bundle leverages Google Play’s Dynamic Delivery system to generate and distribute optimized APKs specific to each user’s device. This eliminates unnecessary data, reducing app size and enhancing performance. 

1. Split APK Mechanism 

The App Bundle acts as a container file (.aab) that includes all app resources. Google Play then breaks it down into smaller modular APKs tailored for individual devices. Instead of downloading a large, universal APK, users receive only the parts necessary for their device. 

Example: 

    • A device supporting only English with a 1080p display will receive APKs specific to that language and resolution. 
    • A different device configuration will get a customized APK set accordingly, reducing unnecessary file storage.

2. Types of APKs Generated 

             a) Base APK 

    • Contains core app functionality, shared resources, and permissions. 
    • Serves as the foundation for all other APKs and ensures the app can function without additional modules.

      b) Configuration APKs

    • Address device-specific factors such as screen density, CPU architecture, and language settings. 
    • Help reduce unnecessary app components on a user’s device, optimizing space utilization.

      c) Dynamic Feature APKs

    • Offer additional functionality on demand, reducing initial app size. 
    • Example: A banking app might provide an optional budgeting tool that users can download when needed, preventing unnecessary storage usage.

3. Dynamic Delivery by Google Play 

    • Google Play processes the bundle and splits it into modular APKs. 
    • The system identifies the user’s device specifications and delivers only the necessary APKs. 
    • Users receive a personalized, efficient download experience tailored to their needs.

4. Security & App Signing 

    • Developers upload an unsigned .aab file to Google Play. 
    • Google Play securely signs APKs before distributing them to users. 
    • Ensures app integrity, preventing tampering and unauthorized modifications.

5. Key Technologies Behind App Bundles 

    • Bundletool: A command-line tool that converts App Bundles into APKs for testing and deployment. 
    • Play Core Library: Enables dynamic feature downloads, in-app updates, and app bundle-specific functionalities to enhance flexibility and modularity. 

Android Application Bundle Format

An Android App Bundle (.aab) is an upload format for Google Play that organizes app resources into modules. Google Play then generates multiple APKs based on this structure. 

Android app bundle

App Bundle’s Key Directories:

  • Base/, feature1/, feature2/ – Contain different modules of the app.
  • Bundle-Metadata/ – Stores metadata files like ProGuard mappings and DEX file listings, ensuring optimization.
  • Manifest/, DEX/ – Separate directories store the AndroidManifest.xml and compiled DEX files.
  • res/, libs/, assets/ – Optimized for device-specific APK generation, reducing redundancy.
  • root/ – Contains files later relocated to the root of any APK.

How to Deploy an App Bundle

Unlike APKs, App Bundles cannot be directly installed on devices. Instead, developers upload a signed .aab file to Google Play, which then builds and signs APKs for distribution via Dynamic Delivery.

Testing Your App Bundle with Google Play Internal Test Track

To generate and upload a signed app bundle:

      1. Select Build > Generate Signed Bundle/APK in Android Studio.
      2. Choose Android App Bundle and click Next.
      3. Select the base module and provide keystore credentials.
      4. (Optional) Check Export Encrypted Key for Google Play App Signing.
      5. Specify a Destination Folder, choose a Build Type, and click Finish.
      6. Upload the signed .aab file to the Google Play Console.

Testing Your .aab File on Pcloudy

Pcloudy supports the .aab format, allowing developers to upload and test their App Bundles on real devices in the cloud. This ensures smooth functionality before releasing the app to users, making it a crucial step in the testing phase.

Conclusion

The Android App Bundle is a game-changer for app development and distribution. By optimizing APKs for individual devices, reducing app size, and streamlining feature management, AAB improves the overall efficiency of Android app publishing. Developers benefit from simplified build management, while users enjoy faster downloads and reduced storage consumption, leading to higher app adoption rates.

Automate with Selenium

Audio Interaction Testing On Remote Devices

October 10th, 2019 by

In the past couple of years, there has been a tremendous increase in voice-enabled apps in the market. This is because business is looking to make its app more user-friendly and easy to use. If the same function can be performed using just your voice then why would you waste your time entering text? Voice recognition is being used by many apps from all sectors like food delivery, eCommerce, gaming, weather, navigation, social media, etc.

The Rise of Voice-Enabled Apps and Intelligent Virtual Assistant

Voice-enabled apps are quite common these days as enterprises are trying to make it easier for users to control the app. Google was the first widely used app that utilized voice reorganization to make it simple for users to look for anything on the search engine. But when it comes to Intelligent Virtual Assistant (IVA), Apple does lead the way with Siri.
 
The idea of IVAs is not new and we have seen it in many Sci-Fi movies too. Take the example of Weebo from the movie Flubber. It was a flying robot assistant who recognized voice commands and helps perform daily tasks. It’s quite possible that we will see something like that soon in the market leveraging AI and drone technology.
 

Graphical User Interface Vs Voice User Interface

Apart from GUI, a new trend is shaping up and it’s called VUI. In the world of voice apps, the primary interaction between human and machine is done through the Voice User Interface (VUI). It is a natural form of interaction where the user can speak to the device and the device will reply or perform the task that it is asked to do. For instance, If you ask the Google assistant “How is the weather in Palo Alto?” the app will convert the analog command into binary and using AI it will reply with an audio output. Here the testers need to make sure that the app is generating the correct reply to the questions. Exploratory testing plays a key role in identifying the bugs in audio-based testing.
 
Audio Testing
 
When it comes to GUI, it is designed in a way to make it easier for the user to navigate through the business process. The graphical interface has controls such as checkboxes, dropdown lists, radio buttons, etc, through which all the features are controlled. Therefore the tester needs to test if all the control elements are working fine in all the pages.
 
The fundamental difference between testing the GUI and the VUI is the input type. There is limited data input in GUI testing but in VUI testing, it can create an indefinite number of test cases. When it comes to voice apps, pairwise testing can help to get better test coverage with fewer test cases.

The Easiest way to do Audio Interaction Testing

The best way to test your app for audio functions is by using pCloudy. To perform audio testing, users need to upload their app on the platform and install it on any device of their choice. Once the device is booked and the app is installed on the device, click on the “More” option at the bottom left corner of the screen. Then you will get the audio in and audio out options in the device interaction page to do audio testing. Users can also use their voice as an input for testing using the “Audio In” feature.
 
This feature can be used for audio out testing as well and it is available only for devices on which audio icon is present. To perform audio output testing, just book a device on the pCloudy platform, click on the “Audio Out” icon and play any audio/video file to get the sound output on your system.
 
audio testing

The audio testing feature is not available on any other cloud-based testing platform and this gives a big advantage to pCloudy. Testers will be able to use this feature to test their apps with voice commands. They will also be able to check if the app is responding with sound output for a particular function.

Conclusion

Looking at the popularity of voice apps, It is estimated that in the US, 111.8 million people will use a voice assistant at least once in a month in 2019. This makes up about 39.4% of internet users and 33.8% of the total population. Voice apps and assistants are gaining popularity due to its ease of use.
 
A lot of organizations are working on using AI and ML to make customer support automated. This means that there will be no more humans answering the phones or replying to chats. A basic version is already in practice which is the IVR. In the near future, there will be smart voice support applications that will listen to the customers and resolve their issues without human interference. This will also reduce the waiting time to talk to a support executive from the organizations. Again a great example of efficiency and speed.
 
For more information check out this video:

 
Related Articles:

  • Test For Voice/Audio Commands on pCloudy Devices
  • How to Run Espresso Test on Remote Devices
  • Tips To Use Devices More Effectively
  • 7 Types Of Mobile App Testing
  • Mobile Devops+Agile – Challenges and Keys to Success