Android App Bundle
Android App Bundle is a new universal format for publishing and distributing Android apps. Unlike the classic Android Package (.APK) format, AAB contains information about the device’s technical specifications and hardware. The app has the.AAB extension is smaller in size.

What is the Android App Bundle for?
Since August 2021, developers have been required to use the Android App Bundle when publishing mobile apps on Google Play. The following format is also required:
- to reduce the size of the application;
- flexible distribution settings;
- convenience of supporting multiple versions, for example, those intended for different devices;
- easy management of published applications and viewing statistics;
- simplifying the release of new versions, such as game updates.
What’s the difference between AAB and APK?
APK apps have several different versions. This can be seen, for example, by visiting the popular alternative app site APKMirror.
Each version is built as a “monolith” and contains all the resources for various devices and configurations. AAB delivers only the resources and configurations required for a specific device.

An Android App Bundle is a package of various components, similar to a ZIP archive. It contains all the files needed for installation. A single.AAB file can replace multiple APK versions because it extracts the app versions for the required devices and OS versions when unpacked.
An APK may include support for different screen resolutions or languages. If the user doesn’t need them, they’ll just take up space. AAB installs a “split” APK for a specific configuration and doesn’t take up any memory.
How AAB works
When a user downloads an app published in AAB format, Google Play automatically generates a small APK from the package with parameters optimized for a specific device. These APKs are called split APKs: they are lighter than standard ones, but less functional. If the user decides to change system settings, such as changing the language, the system will generate and download a new split APK for the new device configuration.
Features of AAB
Light weight
An.AAB app takes up, on average, 15% less space than an APK app. This helps conserve network and device resources when downloading and installing apps, improving the user experience. For developers, this means more downloads: smaller apps are more likely to be downloaded.
Convenient control
With App Bundle Explorer, developers can easily update their app, roll back to an older version, or make adjustments to the entire bundle in one go. Advanced settings allow you to view statistics, metadata, and other information that helps promote your product.
Strong connection with Google Play
AAB further ties Android app releases to the Google Play Store. Without the store, working with packages is virtually impossible: AAB requires specialized software for unpacking and installation. The Android App Bundle code is free and open-source, so developers can write their own software, but this requires significant resources.
Transfer of responsibility for security
With an APK, the app’s security is the responsibility of its developer. They alone own the digital certificate that allows modification of the program’s code. AAB moves APK creation to Google Play Cloud Services. Apps are also signed there. Therefore, responsibility for security shifts to Google. Developers can keep a copy of the certificate.
Explore More IT Terms
#
A
- A Guide to SQL Query Formatting
- A/B testing
- Agile
- Algorithm complexity in 5 minutes
- Algorithms and Data Structures in C#
- An overview of the C # programming language
- An overview of the Python programming language
- Anaconda Python
- Android
- Android App Bundle
- Android SDK
- Angular
- Ansible
- Apache
- Apache Airflow
- Apache Kafka
- Apache Tomcat
- App Store
- AppCode
- Applications of the derivative
- Array-based stack
- ArrayList
- ASCII
- ASP.NET
- Assembly Language Lessons
B
C
D
- Data Analytics: applications of data analysis in companies
- Data Engineer - Who is it, what does a data engineer do, and an overview of the profession
- Data modeling: what it is, types, and process steps.
- Data preprocessing: a complete guide for beginners and professionals.
- Data structure
- Data structures
- Defining Aliases
- Defining Arrays
- Deque
- Developing a Website from Scratch
- Differential Equations
- Differentiation of functions
- Digital data: understand the importance of this asset for businesses.
- Double integrals
- Doubly linked lists
E
F
H
- Handling errors and exceptions
- How to effectively organize your workflow
- How to Learn Java: Tips for Beginner Developers
- How to Learn PHP: A Beginner's Guide
- How to Use S3 Storage in Kubernetes with CSI
- HTML
- HTML and CSS: Definition, Application, and Operating Principles
- HTML and CSS. Layout from Scratch: What to Learn, Where to Learn, and How Long Will It Take?
- HTML Frame Structure
- HTML Link Formatting
I
- if..else construction
- Infinite sequences and series
- Inheritance in Java: A Complete Guide to Principles and Implementation
- Inserting an Image
- Integration of functions
- Interactive Python Tutorial – Learn Programming from Scratch
- Interview Problem: Finding a Deleted Element in O(N)
- Interview Scare: The FizzBuzz Challenge
- Introduction to C++
- Introduction to Machine Learning
- Introduction to programming languages
- IT Specialist Resume (CV)
J
K
M
O
P
- PHP lessons
- Private DNS server and its configuration
- Programmer's Dictionary
- Programming with pseudocode
- Python Code Formatting Guide: PEP8
- Python for data analysis: how to do it and main libraries
- Python Lessons
- Python Superstar: 5 Ways to Use the * Operator
- Python vs. Julia: Should You Replace Python with Julia?
S
- SFML Graphics Library Tutorials
- SQL commands: see what they are, what the main ones are + examples
- SQL Interview Questions and Tasks
- SQL Lessons
- SQL Stored Procedures
- SQL Syntactic Sugar: The COALESCE Function
- Stack
- Start in analytics: Python or R
- Statistical analysis: importance for decision making.
- String formatting in Python
- Swift Lessons
- switch/match construct
T
W
- What are databases, and why do they need DBMS and SQL?
- What do Linux distributions consist of?
- What is .NET and what is it used for?
- What is a GPU in a computer, in simple terms?
- What is Big Data? Introduction, Types, Characteristics, and Examples
- What is Golang and what is it used for?
- What is Haskell and what is it used for?
- What is Kotlin and what is it used for?
- What is Linux? The History of Linux
- What is machine learning, and how does it work?
- What is Power BI: everything about the data analytics software
- What is the C++ programming language?
- What is the OSI Model: A Complete Explanation of the Seven Layers and Their Role in Networking
- What's the difference between x86 and ARM processors?
- Where to start learning the C programming language?
- Which Linux distribution should you choose? A Linux distribution overview
