Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Diving into Android App Bundles

Diving into Android App Bundles

Have you ever been concerned about your app size being unnecessarily large? Or you feel guilty that you ship features that are not useful to over 50% of your users? Android App Bundles is here to help you deliver better apps while still making your code base nicer. I will like to talk to you about it.

Omolara Adejuwon

August 09, 2019

More Decks by Omolara Adejuwon

Other Decks in Technology


  1. Storage Space Many phones have storage less than 1GB available

    space Your app + Photos +Videos + Chats + Other apps =
  2. Cost Many users live on capped data. The larger the

    app, the less willing people are to download
  3. droidconke/ dex/ classes.dex assets/ res/ manifest/ AndroidManifest.xml base/ dex/ classes.dex

    classes2.dex assets/ res/ manifest/ AndroidManifest.xml Base Module Dynamic Feature Module - droidconke
  4. Split APKs Base APK: contains all common code and resources

    Configuration APKs: contains resources based on device’s config i.e locale, architecture, screen density Dynamic Feature APKs: contains codes that can be downloaded at a later time. This will be discussed later in the presentation. - Introduced in Lollipop
  5. Screen density xxhdpi xhdpi hdpi mdpi ldpi Architecture arm64 x86

    arm x86_64 Locale en xh db ja fr ... xxxhdpi
  6. Screen density xxhdpi xhdpi hdpi mdpi ldpi Architecture x86 arm

    x86_64 Locale en xh db ja fr ... arm64 xxxhdpi
  7. Screen density xxhdpi xhdpi hdpi mdpi ldpi Architecture x86 arm

    x86_64 Locale xh db ja ... fr arm64 xxxhdpi
  8. Play Core library feature that introduces a new request flow

    to prompt active users to update your app
  9. A user experience that provides background download and installation with

    graceful state monitoring. This UX is appropriate when it’s acceptable for the user to use the app while downloading the update. Flexible In-App Updates
  10. A full screen user experience that requires the user to

    update and restart the app in order to continue using the app. Immediate In-App Updates
  11. This UX is best for cases where an update is

    critical for continued use of the app. After a user accepts an immediate update, Google Play handles the update installation and app restart. Immediate In-App Updates
  12. For flexible updates, you need to handle the app installation

    yourself after the download is complete. Flexible Vs. Immediate In-App Updates For immediate updates, play handles the download and installation for you.
  13. You can specify conditions under which a feature would be

    delivered as part of the app installation or otherwise left out.
  14. To be able to maximize all the cool features of

    Android App Bundles as explained so far, your app needs to be well modularized. Moyinoluwa Adeyemi just delivered a great talk on App Modularization: From Zero to Hero
  15. Internal App Sharing gives you a quick and easy way

    to share Android App Bundle and Apk Internally
  16. No Unique Version code enforcement. So multiple APK or App

    bundles can be upload independently, to the play console.
  17. You can also debug the APK or App bundles once

    they’re installed to the tester’s device by uploading Debuggable artifacts.