在 Android studio 3.2 中使用 Build Bundle 选项

Use of Build Bundle Option in Android studio 3.2

我想知道 Build Bundle 选项在 Android studio 3.2

中有什么用

这是一张图片

Android App Bundle 是您上传到 Google Play 以支持其新的应用服务模型(称为动态交付)的文件(具有 .aab 文件扩展名)。每个捆绑包都包含所有应用程序模块和支持的设备配置的编译代码和资源。 很快它就会成为一种新的上传格式,其中包含您的代码和资源,但将 APK 生成和签名推迟到 Google Play。

link

Studio 将生成将上传到 Playstore 的 .aab 文件,并将根据芯片架构、屏幕尺寸和区域设置创建许多不同版本的应用程序。 较新的针对不同设备的定制 apk 的下载大小较小。 ref

实际上这将帮助您减少 Play 商店的可下载大小 因为当用户安装它时,它只会提供该 apk 所需的部分以用于更高分辨率的移动设备,只有 XXXHDMI 文件夹将下载,而不是 XXHDMI 和 XHDMI

什么是 App Bundle?

Android App Bundle 是一种新的上传格式,包含您应用的所有编译代码和资源,但将 APK 生成和签名推迟到 Google Play。

Google Play 的新应用服务模型称为 Dynamic Delivery,然后使用您的 app bundle 为每个用户的设备配置生成和提供优化的 APK,因此他们只下载他们需要的代码和资源 运行 你的应用程序。您不再需要构建、签署和管理多个 APK 来支持不同的设备,用户获得更小、更优化的下载

App Bundle 的使用

  1. Dynamic Delivery :

Dynamic Delivery 是 Google Play 的新应用服务模型,它使用您的 app bundle 为每个用户的设备配置生成和提供优化的 APK,因此他们只下载他们需要的代码和资源 运行 你的应用程序。例如,如果用户将英语设置为默认语言,则用户将不需要其他语言字符串。

  1. Dynamic feature modules :

Dynamic feature modules allow you to separate certain features and resources from the base module of your app and include them in your app bundle. Through Dynamic Delivery, users can later download and install those components on demand after they've already installed the base APK of your app. You can use Play Core Library 您可以在需要时下载这些模块。

左侧:包含基本 APK (B) 和一些配置 APK (C) 的简单应用。右侧:一个更复杂的应用程序,包括两个动态功能 APKs (D) 和相应的配置 APKs (C) 供按需下载。

  1. No need for having multiple APKs :

动态交付负责拆分 apk。动态交付的一个基本组成部分是 Android 5.0(API 级别 21)及更高版本上可用的拆分 APK 机制。使用拆分 APK Google Play 可以将大型应用程序分解为更小的独立程序包,并根据需要安装在用户设备上。

优化APK内容基于以下几点:

  • 语言环境
  • 屏幕密度
  • CPU架构

可以找到更多信息here

  1. Smaller Apk size :

由于应用程序被分成更小的部分,这意味着当用户下载您的应用程序时,它对他来说会更小。平均而言,使用 app bundle 发布的应用的大小要小 20%。

测试应用程序包

构建 Android App Bundle 后,您应该测试 Google Play 如何使用它来生成 APK,以及这些 APK 在部署到设备时的行为方式。您应该考虑通过两种方式测试您的应用程序包:

来源