Android App Bundle (AAB) 取代 Google Play 商店中的 APK

已发表: 2021-08-30

自 2021 年 8 月 1 日起,Google 宣布在 Google Play 商店中开发和发布应用程序的新变化。 流行的 APK 格式将更改为已使用一段时间的 AAB 格式,因为它早在 2018 年就在 Android 9 中引入。本文将介绍 Android App Bundle (AAB) 的最重要功能以及更改它带给用户、开发者和谷歌。

谷歌官方声明

2021 年 6 月,Google 发布了从 8 月起将 APK 切换到 ABB 的官方公告。

为了将这些好处带给更多用户并专注于让所有开发者受益的现代 Android 发行版, Google Play 将开始要求从 2021 年 8 月开始使用 Android App Bundle发布新应用。 这将取代 Android 应用程序包 (APK) 作为标准发布格式。

从 8 月起在 Google Play 商店推出的新应用程序必须使用 AAB 。 Google Play 中的当前应用不需要遵守新要求。

安卓应用程序包
来源:Huaweicentral.com

Android App Bundle (AAB) 更改

那么,Google Play AAB 带来了哪些变化呢? 我们将深入研究所有这些,但现在,让我们写一些变化的小总结并澄清一些术语,以便更好地理解该主题。

预计变化包括:

  • 支持各种设备配置和语言
  • 更小的应用程序体积高达 15%
  • 更快的下载速度
  • 安装次数增加/卸载次数减少

此外,这里是其他显着变化的表格概述。

aab 变化
资料来源:谷歌博客

除了 APK 之外,开发人员还必须将大型扩展文件 ( OBB ) 替换为Play AssetFeature Delivery 。 同样,支持 Instant 的 Android App Bundle 取代了 Instant 应用 ZIP,用于分发新的和更新的“即时体验”。

现有应用程序以及托管企业用户的私有应用程序都可以豁免。 展望未来, Play App Signing (AAB 流程的关键部分)将利用 APK 签名方案 v4 来“访问新设备上即将推出的性能功能”。

大约 10% 的超流行应用使用Play Feature Delivery 。 它允许在特定时刻定制和交付模块到特定设备。 PFD支持三种模式:安装交付、有条件交付和按需交付。

游戏资产交付对游戏很重要。 有了它,可以压缩格式作为交付条件,用户只能获取适合自己设备的资源,避免浪费空间或带宽。

AAB 特点

谷歌报告称,一千个最受欢迎的应用程序是基于 Google Play AAB 构建的,其中超过一百万个使用这种新格式的应用程序。 一些突出的例子包括NetflixTwitterAdobeDuolingo

AAB 是主流构建工具支持的开源格式,包括 Android Studio、Gradle、Bazel、Buck、Cocos Creator、Unity、Unreal Engine 等。 借助 Play Core 原生 SDK、Play Core Java SDK 和 Play Core Kotlin SDK,无论用户喜欢哪种编码环境,都可以使用高级 App Bundle 功能。

AAB 为特定应用程序创建单个代码包、资源和本机库。 这样就无需为多个 APK 构建、签名、上传和管理版本代码。 此外,例如,Android Studio 中的 Gradle 允许开发人员构建构建速度更快的模块化应用程序。 这样,开发人员就有更多时间来设计、编码和测试应用程序。

Google Play APK 到 AAB 比较

到目前为止,大多数提交到 Play 商店的应用都是以 Google Play APK 格式发布的。 这种格式将应用程序打包到一个单独的包中。 新的 AAB 格式允许根据您的 Android 设备对应用程序内的组件进行分段、优先级和优化。

aab 到 aab
资料来源:科技故事

考虑在多个设备上使用相同的应用程序。 在旧的 APK 格式中,开发人员必须为每个设备构建单独的元素。 下一步是将这些元素组合在一起并将它们作为一个单元上传到 Google Play。 从 Play 商店下载时,用户会下载整个包,包括所有零碎物品。

有另一种方法可以为将运行应用程序的每个 Android 设备创建单独的 APK。 一般来说,这需要很多时间和精力。 有了 AAB,就没有必要了。 Play 商店将只能识别和下载您的设备所需的内容。 使用经过优化的 APK,您下载的应用程序的数量最多可以减少 15%

在下图中,您可以看到某些流行应用程序的大小会缩小到何种程度。

应用程序大小
来源:华为中心

这种尺寸减小将加快应用程序的下载速度。 不仅如此,您的设备有可能不会立即下载整个应用程序,而只会下载其中的一部分。 大部分游戏都是这种情况。 设备不会下载解锁的游戏片段,因为在您完成游戏的第一部分之前,您无法访问它们。 加载速度会更高,您将节省设备上的空间,这对于旧硬件设备来说真正重要。

过时的设备通常可用内存较少,并且难以加载和下载。 AAB 将支持过时的设备并使它们的生活更轻松。

Android 支持 100 多种语言、不同的 CPU 架构(如 ARMv7、ARMv8 以及 Intel x86)以及不同的屏幕分辨率。 此时,应用程序开发人员需要将一系列可能的组合支持捆绑到一个 APK 应用程序中。 这会导致每个应用程序中出现不必要的代码(阅读更多关于如何在没有编码的情况下创建应用程序)。

如果您的设备基于 ARMv8 CPU 架构,Google 将仅在下载特定应用程序时提供 ARMv8 软件包,而不是包含对 ARMv7、ARMv8 和 Intel x86 架构的支持的整个 APK 文件。

AAB 对开发者意味着什么

开发人员还可以自由地使用可选的附加组件,例如增强现实。 它可能不适用于所有设备。 不支持它的设备将不会下载它。 换句话说,该技术将识别它需要什么以及可以花费多少。

增强现实
资料来源:独立报

新格式应该会提高恶意软件和不正当运营商的安全级别。 此外,它对用户的不利影响是侧载受到更多限制,这将变得更加困难。

对开发人员而言,向 AAB 格式的整体转变既不是挑战也不是耗时的过程。 尽管如此,路上还是有一些障碍。

第一个问题是在不同的应用商店启动需要手动传输特定应用的 APK 版本。 但是那些仍然想要 APK 的最终用户必须寻找替代商店或在出口 AAB 时遇到困难。

此外,开发人员必须向 Google 提供其应用的 Play App Signing 密钥才能将 AAB 文件导出为 APK。 该密钥将赋予谷歌访问应用程序核心的权力。 如果您想通过多个分发渠道发布应用,您可以使用通用应用签名密钥或针对不同渠道使用仅应用签名密钥,包括适用于 Google Play 的仅应用签名密钥。

谈到对谷歌的好处,通过 AAB,谷歌将获得对应用分发服务的更多控制权。 任何第三方商店都必须在云端设置AAB 到 APK 转换器,以提供在 Google Play 商店中可用的应用程序,而 Google 则借助其名为“捆绑工具”的工具来做到这一点。 总体而言,这将增加放弃第三方应用程序结构并转向 Play 商店的开发人员数量。

外卖

Google Play 在优化其应用商店方面又向前迈进了一步,这将有利于所有用户。 开发人员也不会遭受重大变化,因为 ABB 自 2018 年以来一直存在,只是没有被大量使用。 这对每个人来说都是双赢的局面。 其他应用商店是否会跟风,时间会证明一切。 同时,您始终可以使用适用于 Android 和 iOS 的移动应用程序构建器来创建令人惊叹的应用程序!