# Aircall Journey to Android App Bundle

DevFeed: [Aircall Journey to Android App Bundle](<https://devfeed.tech/articles/aircall-journey-to-android-app-bundle-25946.md>)

Original publisher: [Read original article](<https://medium.com/inside-aircall/aircall-journey-to-android-app-bundle-14d0df0d0ea7?source=rss-cbfc736ddcd3------2>)

Author: Julien Salvi

Published: 2021-02-18T15:12:51Z

Content type: tutorial

Language: en

Sources: [Stories by Julien Salvi on Medium](<https://devfeed.tech/sources/stories-by-julien-salvi-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [APK](<https://devfeed.tech/topics/apk.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [CircleCI](<https://devfeed.tech/topics/circleci.md>), [feature flags](<https://devfeed.tech/topics/feature-flags.md>), [ci](<https://devfeed.tech/topics/ci.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-bundle](<https://devfeed.tech/tags/android-app-bundle.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [apk](<https://devfeed.tech/tags/apk.md>), [ci](<https://devfeed.tech/tags/ci.md>), [circleci](<https://devfeed.tech/tags/circleci.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [play-store](<https://devfeed.tech/tags/play-store.md>)

## AI overview

Aircall describes migrating its Android app from APK distribution to Android App Bundle to deliver optimized APKs. The article covers APK size reduction, language, density, and ABI splits, Gradle configuration, and planned Play Feature Delivery, with CircleCI and fastlane mentioned for release automation.

## Source excerpt

A couple months, we decided to use Android App Bundle (AAB) to distribute Aircall's Android app in Play Store. After analyzing the Aircall Android application package (APK), we found we could deliver optimized APKs to our users -- an overall size reduction of 60%! In this article, we are going to expose our journey to Android App Bundle from our own motivations to the development within the application and the CI with CircleCI and fastlane to release on the Play Store. Why move to App Bundle? Moving to App Bundle had many advantages. The first and main reason was the APK size optimization, to deliver only what the user needs. After looking at our application file, we found that we embedded all native libraries (.so files) of all supported architectures! We could have used the abi split in our main build.gradle but we would have managed 4 APKs with different version code. We also saw we could reduce the resource assets to match the density of the device where the app is installed. Here is what the Aircall universal APK looks like on the inside: APK analysis with Android Studio Optimizing size was not the only advantage we saw. Migrating to AAB will allow us (a little bit) to save the planet! Indeed, with all the MB saved from the downloads and updates, we are using less storage space and consuming fewer energy resources. You can see our MAD Score below. If it hits 1 million downloads we could save 22 TB of data -- really a huge impact. MAD Score data from the Aircall project We were also excited by our future ability to enable Play Feature Delivery to push features to specific users. Since we are already using feature flags inside our applications, this would let us develop features on-the-go for our users. Gradle configuration Moving to AAB was a very smooth process and did not require a lot of configuration code. To replicate this move, on your build.gradle of your application, add the following block to build an AAB file. You will be able to add the language, densit