en en en tr es id en en en en en en en en en en en en en en de en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en ca es es ne en en kn en zh fi en it en en en en en en en en en en en en en en en en en en en en en en en en en pt it it en pt en en en en en en en en en en pms en en en en en en en pt fa it en it pt it fr en it en en en en en en en it en en en it pt en en en en en ceb en en it it en en en en en en en en en en en en ia it en en de en en en en en en en en it it en pt en en en en en en en en en en en en en en en it de en en en en en en en en en en pt en en it it en az en en en en uk en en en en en en en en en en en en en en en en en en en en pt en en en en en en en en en en en en en en en en en en
Shankar Kumarasamy AAB, Android, Android App Bundle, AndroidDevelopers, FutureCode, Google October 22, 2018 4 Minutes
Android has finished its 10 years anniversary recently. No one could have predicted this massive success. Android have changed the way the smartphones are developed and used, just like what iPhone did to the smartphone industry. When it comes to android development, many things have changed over the years, new OS version over other, etc.
However, there was one thing which remained the same –
Even the android market was changed to play store. But still it’s the same .apk file, developers were submitting to the play store. Honestly, apart from some information on usage statistics and basic distribution check list, play store was just a middle man for distributing your .apk files. There were no real benefits when it comes to apk optimization or support for app performance for the developer community.
Many a times I have stumbled upon questions like –
1) Why does developer need to build multiple apk’s to target different versions, screens, etc.?
2) Why do even a single change in the code ends up in updating entire Apk file? and so on.
Traditional .apk distribution model through play store
The recently announced ‘Android App Bundles’ seems promising in resolving many of the issues.
So, what is an app bundle?
App bundle is a zip file which contains compiled code and resources. Unlike .apk file, .aab file will be generated and submitted to play store. The latest android studio 3.2 has this facility. App bundles defer the apk generation and signing to google play.
What do app bundles contain?
3) Also, it generates a resource mapping table files (.pb) for assets, resources, etc. which is the key for forming generating different .apk files at a later stage
Now, let’s see different features provided by app bundle.
Feature 1 :: Smaller Apk files on targeted devices –
Once when the app bundle is uploaded to play store, it generates multiple apk’s called split apk’s. It generates base apk and multiple configuration apk (density, ABI, Language). Later, the designated (base+density+ABI+language) apk will be distributed for installation on the target devices using play store.
Does app bundle work for all the android versions?
Yes, from the developer perspective, it will be app bundles that will be submitted to the play store. However, the concept of split apk’s are supported only from Lollipop and above. In that case, for the android versions under 5.0, play store will generate multi-apk’s with ABI and density alone. They generally include all of the language in every generated APK.
So, for a given smart phone the density configuration and AIB configuration will be the same and won’t change over time. What happens when the user tries to change the default language in the device?
Play store will recognize this change for the list of applications which used dynamic delivery on the phone. Once when it senses a change, then it would automatically try to download the new language specific split apk. If it could not connect, then it would continue working on the same default language.
Smaller Apk’s through dynamic delivery
Feature 2 :: On-demand delivery of select modules –
Capability for users to install a piece of application and use it only when user need it. Also, additionally they can even uninstall the dynamic features from the app itself. User need not goto settings to uninstall dynamic features delivered through dynamic delivery. Rather installation and uninstallation of these extended modules are user experience within the app itself.
This is definitely going to change the way the applications will be architected.
‘Multiple apps versus single app with multiple on demand features’.
Let us take the example of Facebook. Currently Facebook and Facebook Messenger are 2 different apps. I am sure this was built this way to have good user experience and also to make 2 light weight apps and not one heavy weight apps. But with dynamic features in place we can even re-architect the FB apps as one app and render the Messenger app as dynamic feature or the vice versa.
Now let us take an enterprise employee productivity application which may have variety of features like timesheet, appraisals, feedback, helpline, support desk, etc. With dynamic features the base app may just contain the authentication and the list of apps alone. All of the functionalities under every productivity tool can be served on demand taking advantage of dynamic features using dynamic delivery.
Dynamic features in app bundle
Feature 3 :: Instant apps support through bundles –
We all know the purpose of instant apps. Instant app gives the user a chance to experience and try the app without even installing the app.
Android app bundle consolidates even instant app generation efforts within its umbrella. App links are still the same as how we used to do for instant apps earlier.
The change is in the way we declare intent filters in the manifest file and the way declare productFlavors in build.gradle.
How to release instant apps in play store?
Once when app bundle is generated then navigate to android instant apps tab in google play developer console and submit your app bundle. This is the same as old instant apps distribution. You submit the app bundle in instant apps section separately.
Instant enables apps in app bundle
Finally, how do I test all of these features that was discussed above?
All of these features can be tested in 2 ways. I would like to call this as dev testing and QA testing.
1) Dev testing – You can use BundleTool to test all of these features.
2) QA testing – We can create internal test in google play console and make it available for selected QA testers.
It will be interesting to know how android app bundle is going to change the way applications will be architected and distributed over time.
Published by Shankar Kumarasamy
Digital leader and technology enthusiast with experience in varied functional areas specializing in mobility and cloud backend. Areas of specialization include: 1) Solutions architecture - Enterprise-scale solution consulting to determine major IT investments, 2) Technical architecture - End-to-end system and integration architecture including hardware and software, 3) Applications architecture - Multi-cloud native server-less application architecture, 4) Data architecture - Canonical data architecture and design including support to multi-tenancy data models, 5) Identity architecture - Different LoB identity management solutions involving SSO for customer 360 experience, 6) Security architecture - Eliminate digital risk by designing the flow of data between people, systems, and things with granular and only the needed access View all posts by Shankar Kumarasamy
Published October 22, 2018
Previous Post Mobile application development strategies – Past till Future
Next Post Quick look at the Amazon 4-star store
Leave a Reply Cancel reply
Enter your comment here...
Fill in your details below or click an icon to log in:
Email (required) (Address never made public)
You are commenting using your WordPress.com account. ( Log Out /  Change )
You are commenting using your Twitter account. ( Log Out /  Change )
You are commenting using your Facebook account. ( Log Out /  Change )
Notify me of new comments via email.
Notify me of new posts via email.
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Android App Bundle (1)
Android Flash Tools (1)
Application Integration Strategy (2)
Best Mobile Apps – 2018 (1)
Cloud Next 2018 (1)
Contact Center AI (1)
EV Charging Station (1)
Google AI Solutions (1)
Google IO 2019 (1)
Google IO 2021 (1)
Google Play Store (1)
Hybrid ML for Mobility (1)
Intelligent Behavior Detection (1)
Intelligent Mobile Solutions (3)
Mobile Application Development Strategies (7)
Mobile World Congress (1)
Mobility In 2019 (1)
Modern Tech Tools (4)
Multi Cloud Strategy (4)
Self driving cars (3)
Self Sovereign Identity (SSI) (1)
Zero Trust Model (1)
AI Amazon Android AndroidP API APIOrchestration ApplicationDevelopment AWS Azure BigDataAnalytics Blockchain Cloud CloudComputing CodingCulture ConnectedDevices DataFirst DigitalTransformation Edge EdgeComputing ElectricVehicle Firebase FutureCode FuturisticSolutions GCP GigEconomy Google GoogleHome GoogleIO2017 GooglePlayStore IdentityManagement IntelligentMobileApplications iOS IoT Learn MachineLearning Microsoft ML MobileAppsDevelopment MobileDevelopers MobileTechnology Mobility MobilitySolutions ModernTechTools MultiCloudStrategy On-DeviceLearning ServerlessComputing Strategy UbiquitousComputing VoiceAssistants VR
© [Shankar Kumarasamy] and [shankarkumarasamy.blog], [2017-2020].
Unauthorized use and/or duplication of this material without express and written permission from this site’s author and/or owner is strictly prohibited.
Excerpts and links may be used, provided that full and clear credit is given to [Shankar Kumarasamy] and [shankarkumarasamy.blog] with appropriate and specific direction to the original content.
Archives Select Month September 2022  (1) August 2022  (1) July 2022  (1) June 2022  (1) May 2022  (1) April 2022  (1) February 2022  (1) January 2022  (1) December 2021  (1) November 2021  (1) October 2021  (1) September 2021  (1) August 2021  (1) July 2021  (1) June 2021  (1) May 2021  (1) April 2021  (1) March 2021  (1) February 2021  (1) January 2021  (1) December 2020  (1) November 2020  (1) October 2020  (1) September 2020  (1) August 2020  (1) July 2020  (1) June 2020  (1) May 2020  (1) April 2020  (1) March 2020  (1) February 2020  (1) January 2020  (1) December 2019  (1) November 2019  (1) October 2019  (1) September 2019  (1) August 2019  (1) July 2019  (1) June 2019  (1) May 2019  (2) April 2019  (1) March 2019  (1) February 2019  (2) January 2019  (1) December 2018  (2) November 2018  (2) October 2018  (2) September 2018  (1) August 2018  (1) July 2018  (1) June 2018  (1) May 2018  (2) April 2018  (1) March 2018  (2) February 2018  (1) January 2018  (2) December 2017  (2) November 2017  (2) October 2017  (3) September 2017  (2) August 2017  (3) July 2017  (4) June 2017  (4) May 2017  (5) April 2017  (4) March 2017  (2)
Follow Blog via Email
Enter your email address to follow this blog and receive notifications of new posts by email.
Join 47 other followers
Start a Blog at WordPress.com.
Join 47 other followers
Already have a WordPress.com account? Log in now.
View post in Reader
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.