【发布时间】:2019-03-04 03:37:58
【问题描述】:
【问题讨论】:
标签: android android-studio build bundle
【问题讨论】:
标签: android android-studio build bundle
什么是 App Bundle?
Android App Bundle 是一种新的上传格式,包含您应用的所有编译代码和资源,但会将 APK 生成和签名推迟到 Google Play。
Google Play 的新应用服务模型称为动态交付,然后使用您的 app bundle 为每个用户的设备配置生成和提供优化的 APK,因此他们只下载运行您的应用所需的代码和资源。您不再需要构建、签署和管理多个 APK 来支持不同的设备,并且用户可以获得更小、更优化的下载
App Bundle 的使用
- 动态交付:
Dynamic Delivery 是 Google Play 的新应用服务模型,它使用您的 app bundle 为每个用户的设备配置生成和提供优化的 APK,因此他们只下载运行您的应用所需的代码和资源。例如,如果用户将英语设置为默认语言,则用户将不需要其他语言字符串。
- 动态功能模块:
Dynamic feature modules 允许您将某些功能和资源从应用程序的基本模块中分离出来,并将它们包含在您的应用程序包中。通过动态交付,用户可以在安装了应用程序的基础 APK 后按需下载和安装这些组件。您可以使用Play Core Library,您可以在需要时下载这些模块。
左侧:一个简单的应用,包括一个基本 APK (B) 和一些配置 APK (C)。右侧:一个更复杂的应用,包括两个动态功能 APK (D) 和相应的配置 APK (C),供按需下载。
- 无需拥有多个 APK:
动态交付负责拆分 apk 。动态交付的一个基本组件是 Android 5.0(API 级别 21)及更高版本上可用的拆分 APK 机制。借助拆分 APK,Google Play 可以将大型应用拆分为更小的、独立的软件包,并根据需要安装在用户的设备上。
对 APK 内容的优化基于以下几点:
更多信息可以找到here
- 更小的 Apk 大小:
由于应用程序被分解成更小的部分,这意味着当用户下载您的应用程序时,它对他来说会变得更小。平均而言,使用 app bundle 发布的应用的大小要小 20%。
测试 App Bundle
构建 Android App Bundle 后,您应该测试 Google Play 如何使用它来生成 APK,以及这些 APK 在部署到设备时的行为方式。您应该考虑通过两种方式测试您的 app bundle:
来源
【讨论】:
Android App Bundle 是您上传到 Google Play 以支持其新的应用服务模型(称为动态交付)的文件(文件扩展名为 .aab)。每个捆绑包都包含所有应用程序模块和支持的设备配置的编译代码和资源。 很快它就会成为一种新的上传格式,其中包含您的代码和资源,但会将 APK 生成和签名推迟到 Google Play。
【讨论】:
Studio 将生成 .aab 文件,该文件将上传到 Playstore,它会根据芯片架构、屏幕尺寸和语言环境创建许多不同版本的应用程序。 针对不同设备的较新定制 apk 下载量较小。 ref
实际上这将帮助您减少从 Play 商店下载的大小 因为在用户安装时,它只会为更高分辨率的移动设备提供所需的 apk 部分,仅 XXXHDMI 文件夹不会下载 XXHDMI 和 XHDMI
【讨论】: