Android App Bundle: Difference between revisions

Content deleted Content added
Formatting
removed stub template
 
(75 intermediate revisions by 38 users not shown)
Line 1:
{{Short description|Android application publishing file format}}
{{AfC submission|t||ts=20210815163712|u=TheresNoTime|ns=118|demo=}}<!-- Important, do not remove this line before article has been created. -->
{{Infobox file format
| name = Android App Bundle
| icon = Android App Bundle logo.png
| _noextcode =
| extension = {{code|.aab}}
| mime =
| type code =
| uniform type =
| owner =
| genre = [[Package format]]
| container for = [[Android (operating system)|Android]]
| open = yes
| contained by =
| extended from =
| extended to =
| standard =
| url = {{Official url}}
}}
'''Android App Bundle''' is the [[Android (operating system)|Android]] application publishing [[file format]]. The App Bundle must include the application's [[compile]]d code and resources, which allows for the signing and generation of [[Apk (file format)|APK files]] to be deferred to the [[app store]], reducing the initial download size of the app.<ref name="google-app-bundle">{{Cite web |title=About Android App Bundles |url=https://developer.android.com/guide/app-bundle |access-date=2021-08-15 |website=Android Developers |language=en |archive-date=2021-08-09 |archive-url=https://web.archive.org/web/20210809200609/https://developer.android.com/guide/app-bundle |url-status=live }}</ref> The file extension used for this format is ".aab".<ref>{{cite web |url=https://developer.android.com/studio/command-line/bundletool |title=bundletool |access-date=2021-10-19 |website=Android Developers |archive-date=2023-03-15 |archive-url=https://web.archive.org/web/20230315193854/https://developer.android.com/studio/command-line/bundletool |url-status=live }}</ref>
 
The '''Android App Bundle''' is the [[AndroidGoogle (operating system)|AndroidPlay]] applicationrequires submissionAndroid formatApp whichBundles willfor beall requirednew fromapps since August 2021 and for newall [[Googleupdates Play]]to preexisting apps since November 2021.<ref name="theverge">{{Cite web |last=Peters |first=Jay |date=2021-06-30 |title=Google is moving away from APKs on the Play Store |url=https://www.theverge.com/2021/6/30/22557390/google-apk-app-bundles-package-format-play-store |access-date=2021-08-15 |website=The Verge |language=en |archive-date=2021-08-04 |archive-url=https://web.archive.org/web/20210804045536/https://www.theverge.com/2021/6/30/22557390/google-apk-app-bundles-package-format-play-store |url-status=live }}</ref><ref>{{Cite Theweb bundle|title=New mustAndroid includeApp theBundle app'sand compiledtarget codeAPI andlevel resources,requirements whichin will2021 allow|url=https://android-developers.googleblog.com/2020/11/new-android-app-bundle-and-target-api.html Split|access-date=2022-11-22 APK|website=Android generationDevelopers Blog |language=en |archive-date=2023-03-14 |archive-url=https://web.archive.org/web/20230314143553/https://android-developers.googleblog.com/2020/11/new-android-app-bundle-and-target-api.html signing|url-status=live to}}</ref> beSince deferredMay to2023, GoogleAndroid PlayTV onrequires demandAABs.<ref name="google-app-bundle">{{Cite web |titlelast=AboutAmadeo |first=Ron |date=2022-11-22 |title=Android TV will require App Bundles in 2023, should reduce app size by 20% |url=https://developer.androidarstechnica.com/guidegadgets/2022/11/android-tv-will-require-app-bundlebundles-in-2023-should-reduce-app-size-by-20/ |access-date=20212022-0811-1522 |website=AndroidArs DevelopersTechnica |language=en-us |archive-date=2022-12-09 |archive-url=https://web.archive.org/web/20221209054435/https://arstechnica.com/gadgets/2022/11/android-tv-will-require-app-bundles-in-2023-should-reduce-app-size-by-20/ |url-status=live }}</ref>
 
== Split APKs ==
Prior to usingWithout Android App Bundles, an [[Android application package|APK]] could potentiallycan includesupport multiple languages, up to four different [[CPUComputer architecture|CPU architectures]]s, and several [[screendisplay resolution]] buckets. The practice of doing this means each device gets a significant amount of [[code bloat|bloat]] which is irrelevant for its specific combination of CPU, locale, and screen sizes.<ref name="arstechnica">{{Cite web |last=Amadeo |first=Ron |date=2021-07-01 |title=Google Play dumps APKs for the more Google-controlled “Android"Android App Bundle”Bundle" |url=https://arstechnica.com/gadgets/2021/07/google-play-dumps-apks-for-the-more-google-controlled-android-app-bundle/ |access-date=2021-08-15 |website=Ars Technica |language=en-us |archive-date=2021-08-12 |archive-url=https://web.archive.org/web/20210812212257/https://arstechnica.com/gadgets/2021/07/google-play-dumps-apks-for-the-more-google-controlled-android-app-bundle/ |url-status=live }}</ref> This meant that each installation file could contain potentially large amounts of [[code bloat|bloat]] irrelevant for a device's specific combination of CPU, locale, and screen size.<ref name="arstechnica"></ref>
 
Split APKs, which are generated by an app store like Google Play, contain only the code and resources that are needed for the specific device downloading the app.<ref name="theregister">{{Cite web |last=Tim Anderson |title=Android devs prepare to hand over app-signing keys to Google from August |url=https://www.theregister.com/2021/07/01/android_app_bundle/ |access-date=2021-08-15 |website=www.theregister.com |language=en |archive-date=2021-07-24 |archive-url=https://web.archive.org/web/20210724182926/https://www.theregister.com/2021/07/01/android_app_bundle/ |url-status=live }}</ref> If the user changes their device language or feature set, the app store can then deliver additional split APKs on demand to meet the changed requirements.<ref name="googleplaydev">{{Cite web |last=Elliott |first=Dom |date=2020-11-23 |title=A new publishing format for the future of Android |url=https://medium.com/googleplaydev/what-a-new-publishing-format-means-for-the-future-of-android-2e34981793a |access-date=2021-08-15 |website=Medium |language=en |archive-date=2021-07-16 |archive-url=https://web.archive.org/web/20210716040146/https://medium.com/googleplaydev/what-a-new-publishing-format-means-for-the-future-of-android-2e34981793a |url-status=live }}</ref>
 
Android App Bundles are required for using "play as you download" feature of Google Play, which lets users download and install a portion of the game to start playing and then download the rest while the user is occupied by the first level.<ref>{{Cite web|last=Amadeo|first=Ron|date=2021-11-15|title=Android 12: The Ars Technica Review|url=https://arstechnica.com/gadgets/2021/11/android-12-the-ars-technica-review/|access-date=2021-11-21|website=Ars Technica|language=en-us|archive-date=2021-11-21|archive-url=https://web.archive.org/web/20211121011423/https://arstechnica.com/gadgets/2021/11/android-12-the-ars-technica-review/|url-status=live}}</ref>
 
== See also ==
* [[Android software development]]
* [[apk (file format)]]
 
== References ==
<!-- Inline citations added to your article will automatically display here. See en.wikipedia.org/wiki/WP:REFB for instructions on how to add citations. -->
{{reflist}}
 
== External links ==
* {{official website}}
 
{{Android|state=collapsed}}
 
[[Category:Android (operating system)]]
[[Category:Computer file formats]]