{"id":294822,"date":"2021-07-09T15:00:13","date_gmt":"2021-07-09T12:00:13","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/why-is-google-changing-androids-app-format-cloudsavvy-it\/"},"modified":"2021-07-09T15:00:13","modified_gmt":"2021-07-09T12:00:13","slug":"why-is-google-changing-androids-app-format-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/why-is-google-changing-androids-app-format-cloudsavvy-it\/","title":{"rendered":"#Why Is Google Changing Android\u2019s App Format? \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a287a1cb2b86\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a287a1cb2b86\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/why-is-google-changing-androids-app-format-cloudsavvy-it\/#App_Bundle_Benefits\" >App Bundle Benefits<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/why-is-google-changing-androids-app-format-cloudsavvy-it\/#Whats_Changing_For_APKs\" >What\u2019s Changing For APKs?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/why-is-google-changing-androids-app-format-cloudsavvy-it\/#What_About_The_Drawbacks\" >What About The Drawbacks?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/why-is-google-changing-androids-app-format-cloudsavvy-it\/#App_Bundles_and_Third-Party_App_Stores\" >App Bundles and Third-Party App Stores<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/why-is-google-changing-androids-app-format-cloudsavvy-it\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#Why Is Google Changing Android\u2019s <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">App<\/a> Format? \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<figure style=\"width: 6000px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage wp-image-12557 size-full\" data-pagespeed-lazy-src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/3cd0e04b.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Android robot\" width=\"6000\" height=\"4000\" src=\"https:\/\/www.shutterstock.com\/image-photo\/new-york-usa-july-2-2018-1137339098\" data-credittext=\"quietbits\/Shutterstock.com\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><figcaption class=\"wp-caption-text\"><span class=\"type:primaryImage imagecredit\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.shutterstock.com\/image-photo\/new-york-usa-july-2-2018-1137339098\">quietbits\/Shutterstock.com<\/a><\/span><\/figcaption><\/figure>\n<p>Android apps have historically been distributed as APKs (Android Packages). An APK contains a compiled version of an app, along with critical <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/social-mediaa\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Social Media\" target=\"_blank\" rel=\"noopener\">media<\/a> resources such as icons and sounds. They also include a manifest file, providing app information to the Android system, and a set of certificates and signing keys that verify the publisher\u2019s identity.<\/p>\n<p>In May 2018, Google launched a new app packaging format intended to address some of the shortcomings with APKs. Android App Bundles (AABs) fulfill the same role as APKs but with significant implementation differences.<\/p>\n<p>At Google I\/O 2021, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/android-developers.googleblog.com\/2021\/06\/the-future-of-android-app-bundles-is.html\">Google announced<\/a> that AAB will become the default Android app format. From the end of August, the Play Store will require new app publications to be submitted as an AAB. End users who only use the Play Store won\u2019t need to do anything. For developers, the story\u2019s a little more complicated.<\/p>\n<h2 id=\"app-bundle-benefits\"><span class=\"ez-toc-section\" id=\"App_Bundle_Benefits\"><\/span>App Bundle Benefits<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>AAB was originally introduced as a way to resolve some of the common packaging challenges in the Android ecosystem. Android runs on thousands of devices covering a huge range of screen sizes, performance baselines, and CPU architectures. The APK format doesn\u2019t scale to meet this diversity as each package contains all the app\u2019s resources.<\/p>\n<p>If you install an app on your phone, you don\u2019t really need to download the high-res tablet variants of its graphics. Yet with APK, you\u2019ll normally get every variation, causing larger downloads and increased storage use. If a developer wants to offer more streamlined builds, they need to manually compile and sign multiple different APKs.<\/p>\n<p>App Bundles take a different approach. By design, they \u201cbundle\u201d several different versions of an app into one logical package. The Play Store then sends only the relevant bits to each device which requests an install. It\u2019ll produce the right bundle on-demand for each user, so an American user with a 10-inch Intel device will get a different download to a German individual with a 5-inch ARM phone. Crucially, devices still receive APKs \u2013 users won\u2019t ever directly interact with an App Bundle. The difference is the APKs are generated dynamically, in the cloud.<\/p>\n<p>App Bundles also benefit from simpler <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.android.com\/guide\/playcore\/feature-delivery\">add-on module loading<\/a> and enhanced support for <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.android.com\/guide\/playcore\/asset-delivery\">large assets<\/a> such as <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/game\/\" data-internallinksmanager029f6b8e52c=\"7\" title=\"Game\" target=\"_blank\" rel=\"noopener\">game<\/a> content. According <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/android-developers.googleblog.com\/2021\/06\/the-future-of-android-app-bundles-is.html\">to Google<\/a>, all of this typically results in a 15% reduction in download size, compared to the same app distributed as an APK.<\/p>\n<h2 id=\"whats-changing-for-apks\"><span class=\"ez-toc-section\" id=\"Whats_Changing_For_APKs\"><\/span>What\u2019s Changing For APKs?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Google will gradually phase out support for APKs from August 2021. New apps submitted to the Play Store will need to be issued as an app bundle. Existing APK-based apps will still be supported and developers will be able to keep issuing updates. These apps are described as \u201ccurrently exempt,\u201d suggesting updates might need to be released as AABs in the future.<\/p>\n<p>According to Google, the change is being made so that more users will benefit from the App Bundle advantages. From a typical end user\u2019s perspective, it is difficult to argue with the promise of App Bundles: smaller downloads and reduced storage space will be welcomed by many, particularly those on low-end devices and slow internet connections.<\/p>\n<p>Users on older Android versions won\u2019t see the benefits as their device will be unable to assemble \u201csplit\u201d bundles into a functioning app. Outdated OS versions will still be able to install App Bundle apps from the Play Store though \u2013 the bundling system will realize it\u2019s handling an older device and serve a regular all-in-one APK instead.<\/p>\n<h2 id=\"what-about-the-drawbacks\"><span class=\"ez-toc-section\" id=\"What_About_The_Drawbacks\"><\/span>What About The Drawbacks?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>While the headline benefits are undoubted, App Bundles have one significant drawback for developers and power users alike. As the App Bundle system centers on dynamic in-cloud generation of signed APKs, developers need to hand their app signing keys over to Google. Instead of developers signing app updates in their own build infrastructure, Google will take an App Bundle and convert it to signed APKs itself.<\/p>\n<p>The signing process lets Android devices verify that updates come from the same publisher as the currently installed app. It\u2019s a critical part of the ecosystem that prevents bad actors from producing malicious apps that silently overwrite genuine downloads. Google\u2019s promising that developers will be able to supply their own keys but they\u2019ll still need to be kept in the Play Store.<\/p>\n<p>Trusting Google to store signing keys gives the company even more control of Android app distribution. Anyone who successfully compromised the Play Store could start to publish app updates to developer accounts, as all signing keys will be centralized within Google\u2019s infrastructure.<\/p>\n<p>Moreover, Google could now publish app updates itself, perhaps if a government compelled it to. It <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.howtogeek.com\/736451\/can-google-and-apple-remotely-install-apps-on-your-phone\">already has the ability<\/a> to silently install apps on Android devices. Now it holds the keys to developer kingdoms, it could comply with requests to covertly install unapproved updates of existing apps.<\/p>\n<p>Could a government agency get Google to install a modified encrypted messaging app on a target user\u2019s device? Such a request could let the agency intercept messages, without the target being any the wiser. App Bundles and hosted signing make the scenario theoretically possible.<\/p>\n<p>The risk is supposedly mitigated by a <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.android.com\/guide\/app-bundle\/code-transparency\">\u201ccode transparency\u201d<\/a> system. This is meant to give developers and end users a way to verify that downloaded APKs match the bundle that was submitted to the Play Store, eliminating the possibility of intrusion.<\/p>\n<p>Android doesn\u2019t actually check code transparency signatures though, so it\u2019s up to the community to build out tooling around it. Furthermore, code transparency is entirely optional and only enabled when the APK includes a transparency file. As Google already holds the keys needed to generate new APKs, it <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/commonsware.com\/blog\/2021\/06\/29\/initial-thoughts-code-transparency.html\">could remove the<\/a> code transparency file whenever it wanted to.<\/p>\n<h2 id=\"app-bundles-and-third-party-app-stores\"><span class=\"ez-toc-section\" id=\"App_Bundles_and_Third-Party_App_Stores\"><\/span>App Bundles and Third-Party App Stores<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>App Bundles are also a threat to the open nature of the Android ecosystem. In recent years, Google\u2019s been asserting a stronger stewardship role. App Bundles are another knock against third-party app stores which offer direct APK downloads.<\/p>\n<p>As developers will now need to compile App Bundles, APK builds are being sidelined. It could be only a matter of time before Google disables direct APK installation altogether, or removes APK build capabilities from official Android Studio releases.<\/p>\n<p>For the time being, developers will be able to download signed standalone APKs from the Play Store, after they\u2019ve submitted App Bundles. These APKs will be ready to upload to third-party app stores, so there\u2019s no immediate risk to this deployment model. It\u2019s still a developer inconvenience though \u2013 you\u2019ve either got to manually download your signed APKs, or build them separately on your local machine.<\/p>\n<p>Google announced the mandatory switch to App Bundles mere days after Microsoft <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.howtogeek.com\/737031\/windows-11-whats-new-in-microsofts-new-os\">unveiled Windows 11<\/a> with support for Android apps from the Amazon App Store. Although the shift to App Bundles has been a couple of years in the making, Google\u2019s decision to make the move now could be intended to limit the impact of the Microsoft\/Amazon partnership, which will only support regular APKs.<\/p>\n<h2 id=\"conclusion\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Android App Bundles are a new app compilation format with much greater efficiency than a regular APK. Although devices will still ultimately receive an APK, each one will be tailored specifically to the OS version, device form factor, and active locale.<\/p>\n<p>While App Bundles should be welcomed by most Android users, they are not a perfect solution for developers and the wider Android ecosystem. The App Bundle model hands Google more control over app distribution, requiring the disclosure of signing keys which could make forced app updates a reality while threatening third-party storefronts.\n<\/p><\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/12544\/apk-vs-app-bundle-why-is-google-changing-androids-app-format\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#Why Is Google Changing Android\u2019s App Format? \u2013 CloudSavvy IT&#8221; quietbits\/Shutterstock.com Android apps have historically been distributed as APKs (Android Packages). An APK contains a compiled version of an app, along with critical media resources such as icons and sounds. They also include a manifest file, providing app information to the Android system, and a&#8230;<\/p>\n","protected":false},"author":1,"featured_media":294823,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/3cd0e04b.jpg","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-294822","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/294822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=294822"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/294822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/294823"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=294822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=294822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=294822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}