Google 正在推动开发者在 Play 商店中采用 Android App Bundles。 AAB 比 APK 更高效,承诺应用程序更快、更小且更易于更新。但它是如何工作的,对 Android 的未来意味着什么?
概括
该公告在 2021 年夏初产生了爆炸般的影响:Google 不再希望 Play 商店上架 APK 格式并旨在用 AAB(Android App Bundles)格式取代它。但为什么做出这个决定呢? APK 和 AAB 有什么区别? AAB相对于APK有什么优势?这会给 Android 的未来带来什么改变?我们在本文中努力回答这么多问题。
应用程序代表 Android 软件包套件。这是 Android 操作系统上使用的历史文件格式。 APK 以压缩方式汇集了应用程序正常运行和安装所需的所有文件。 Play 商店中的所有应用程序均为 APK 格式,可以从官方应用程序商店之外下载任何 APK 文件,以在 Android 终端上安装应用程序。
📅 AAB 何时在 Play 商店中成为强制要求?
的2021 年 8 月,任何提交到 Play 商店的新应用程序都必须采用 AAB 格式。因此,该措施目前仅涉及新服务。最终,我们可以想象,当部署更新以标准化其应用程序商店的体验时,Google 将迫使开发人员从 APK 切换到 AAB。
🔺 APK 会消失吗?
Play 商店向 AAB 格式的过渡远非APK 结束。首先,因为AAB实际上是一种更高效地将APK分发到用户终端的方式。如果发布商不再为了 AAB 的利益而将 APK 上传到 Play 商店,那么归根结底,负责的仍然是 AAB 中包含的 APK运行应用程序在设备上。
此外,如前所述,Play 商店中现有的应用程序可以继续使用 APK 而不是 AAB。然而,大多数流行应用程序的发行商都会自愿进行转换并利用 AAB 来发挥其提供的所有优势。
🔁 为什么 Google 将 APK 替换为 AAB?
首先,我们要澄清的是,AAB 并不是什么新鲜事。这种格式已经存在,但与 APK 共存。尽管自从它成为 Play 商店的推荐格式和新应用程序的强制格式以来我们对其进行了更多的讨论,但该技术是众所周知的,一些发行商甚至在 Google 最近的指令之前就已经采用了该标准。稍后我们将详细了解 AAB 在 Play 商店中如何成为比 APK 更高效的格式,无论是在安全性还是性能方面。
但让我们暂时关注一下谷歌尚未提及的主题。 AAB 将使山景城公司能够更好地控制其应用程序生态系统,并将其 Play 商店置于 Android 体验的中心位置,从而损害第三方应用程序商店。它们提供应用程序的 APK,如果发行商决定仅以 AAB 格式发布其应用程序,他们将失去丰富的目录。请注意,Google 已向开发人员提供了一个工具,允许他们将 AAB 转换为 APK,但不能保证他们在切换到 Play 商店独占的 AAB 后会玩游戏并提供 APK。 Android 软件包安装程序不支持 AAB,因此不可能(无论如何)在不通过官方应用程序商店的情况下通过其 AAB 安装应用程序。

谷歌还可能间接地给微软设置障碍。Windows 11将原生支持Android应用程序,可以从 Microsoft Store 下载并安装在您的计算机上,Microsoft Store 本身基于 Amazon Appstore,与其他替代应用程序商店一样,需要 APK 文件。
⁉ 什么是 Android 应用程序包?
Android 应用程序包是适用于 Google Play 的发布格式它将应用程序的所有已编译代码和资源组合在一起。然后动态处理该代码和这些资源,以便生成并交付个性化且优化的 APK对于每个设备。因此,开发人员不再需要创建、签名和管理多个 APK 来优化对不同设备的支持。所有信息都集中在一处,然后根据需要智能地分发给用户。因此,用户可以获得该应用程序的更轻版本,因为它专门针对他们的设备进行了优化。
目标是改善应用安装体验,同时降低卸载率(每个应用占用更少的空间)。所有这些都不会增加开发人员的工作量,他们应该快速掌握该系统并且没有任何能力无需修改其应用程序的代码迁移到 AAB,无论如何,如果它是按照 Google 的建议开发的。

➿ AAB 和 APK 有什么区别?
当您从 Play 商店下载 APK 时,您将获得所有应用程序文件,甚至是那些您不需要的文件。使用 AAB,所有文件都可以在 Play 商店中使用,但只有有用的元素才会安装在终端上。例如,设备仅分发其屏幕定义、其体系结构和默认语言的文件。与AAB一起,应用程序下载和安装因此变得更快,带宽需求少,应用程序占用少更少的存储空间。
Google 提供了一些流行应用程序的示例,这些应用程序由于 Android App Bundle 而变得更加轻便。 Dropbox 减少了 33%,Duolingo 减少了 42%,Airbnb 减少了 22%,Twitter 减少了 13%,Netflix 减少了 57%,Tinder 减少了 28%,LinkedIn 减少了 36%。
应用程序的下载时间不仅由于 AAB 生成的 APK 大小的减小而减少,而且还由于额外的功能。特别是,一个附加系统可以按需加载,允许您在初始安装后添加不必要的功能和内容,无论是在使用应用程序时还是在用户想要访问相关功能或内容时。因此,不需要安装的大型功能、针对特定受众的功能以及很少使用的功能可以放置在动态功能模块中。

对于开发人员来说,Android App Bundle 也是一种更高效地部署更新的方法,有时无需强迫用户通过 Play 商店升级其应用程序。模块仍通过安全检查Google Play 保护,这不会导致更多与应用程序和更新的安全性和可靠性相关的问题。
到目前为止,我们拥有即时应用程序,预览版允许您启动服务,甚至无需安装它即可探索和测试它。但兼容的应用程序仍然很少,需要开发人员的努力。借助 AAB,可以启动尚未 100% 下载的应用程序,因为其基本元素已充分可用。我们在 PC 或游戏机游戏中熟悉的系统,即将登陆 Android。当连接速度较慢或玩大型游戏时很有用。

总而言之,Android App Bundle 承诺更小、更好、更快、更容易更新应用程序。
📄 玩资产交付、玩功能交付,这是理所当然的吗?
有两个概念与 AAB 密切相关:游戏资产交付Play Feature Delivery 使 Android App Bundle 成为现实,并大大增强了它相对于简单 APK 的优势。 Play Asset Delivery 和 Play Feature Delivery 替换了 AAB 不支持的不透明二进制 blob (OBB) 扩展文件。
播放功能交付指的是前面描述的动态模块系统。它允许自定义将哪些功能包交付到哪个设备以及何时交付,交付模式包括安装时交付、有条件交付和按需交付。据 Google 称,10% 的最受欢迎的应用程序已经使用 Play Feature Delivery。
游戏资产交付通过优先处理基本元素来减少游戏下载和安装时间。纹理和声音等附加数据仅在稍后处理。此外,压缩工具仅向设备提供与用户设备兼容的资源,因此不会充斥着无法使用的元素。发布商的服务器使用较少,用户体验变得更加流畅。