app bundle 配置 on demand delivery

动态特性模块允许您将某些特性和资源从应用程序的基本模块中分离出来,并将它们包含在app bundle中。例如,通过动态交付,用户可以在安装了应用程序的基本APK之后按需下载和安装这些组件。

        例如,考虑一个包含捕获和发送图片消息功能的文本消息app,但是只有一小部分用户发送图片消息。将图片消息作为可下载的动态特性模块包含进来可能是有意义的。这样,最初的应用程序下载对于所有用户来说都比较小,只有那些发送图片消息的用户才需要下载额外的组件。

        请记住,这种类型的模块化需要更多的工作,可能还需要重构app的现有代码,因此请仔细考虑哪些应用程序特性将从按需提供给用户中获益最大。为了更好地理解随需应变特性的最佳用例和指导方针,请阅读随需交付的UX最佳实践。

        如果希望逐步模块化应用程序特性,而不启用高级交付选项(如按需交付),则应在配置at-install。

        此页面帮助您向应用程序项目添加动态特性模块,并将其配置为随需应变交付。在开始之前,请确保您使用的是Android Studio 3.5或更高版本,以及Android Gradle Plugin 3.5.0或更高版本。

 

配置一个on demand 模块

 

创建一个新的动态特性模块最简单的方法是使用Android Studio 3.5或更高版本。因为动态特性模块对基本应用程序模块有固有的依赖性,所以只能将它们添加到现有的应用程序项目中。

要使用Android Studio将动态特性模块添加到您的应用程序项目中,请执行以下步骤:

1.如果您还没有这样做,请在IDE中打开您的应用程序项目。

2.从菜单栏中选择文件> New > New Module。

3.在新建模块对话框中,选择Dynamic Feature Module并单击Next。

4.在“ Configure your new module”一节中,完成以下操作:

    a.从下拉菜单中选择应用程序项目的基本应用程序模块。

    b.指定模块名称。IDE使用这个名称将模块标识为Gradle设置文件中的Gradle子项目。在构建应用程序包时,Gradle使用子项目名称的最后一个元素将属性注入到动态特性模块的清单中。

    c.指定模块的包名。默认情况下,Android Studio建议使用一个包名,它结合了基本模块的根包名和您在前面步骤中指定的模块名。

    d.选择您希望模块支持的最低API级别。这个值应该与基本模块的值匹配。

5.单击Next。

6.在模块下载选项部分,完成以下操作:

    a.指定最多使用50个字符的模块标题。例如,当确认用户是否想下载模块时,平台使用这个标题向用户标识模块。因此,应用程序的基本模块必须包含模块标题作为字符串资源,您可以将其翻译。当使用Android Studio创建模块时,IDE将字符串资源添加到基本模块中,并在动态特性模块的清单中注入以下条目:

<dist:module
    ...
    dist:title="@string/title_dynamic_feature">
</dist:module>

注意:如果您启用了资源收缩,例如在您的发行版构建中,如果您的基本模块中的代码没有引用它,shrinker可能会删除模块标题字符串资源。要确保字符串资源保留在构建输出中,请将该资源包含在自定义资源keep文件中。

    b.在“Install-time inclusion”下拉菜单中,选择“Do not include module at install-time”。Android Studio在模块的manifest中注入以下内容来反映你的选择:

<dist:module ... >
  <dist:delivery>
      <dist:on-demand/>
  </dist:delivery>
</dist:module>

    c.如果您希望这个模块对运行Android 4.4 (API级别20)或更低的设备可用,并且包含在multi- apk中,请选中Fusing旁边的复选框。这意味着您可以为这个模块启用随需而动的行为,并禁用fusing,以便从不支持下载和安装split apk的设备中省略它。Android Studio在模块的manifest中注入以下内容来反映你的选择:

<dist:module ...>
    <dist:fusing dist:include="true | false" />
</dist:module>

 

7.点击 Finish

在Android Studio完成创建模块之后,您可以从Project窗格中查看模块的内容(从菜单栏中选择View > Tool Windows > Project)。默认的代码、资源和组织应该类似于标准的app模块。

 

部署应用

        当您在开发支持动态交付的应用程序时,您可以像往常一样通过从菜单栏中选择Run > Run(或单击工具栏中的Run)将应用程序部署到连接的设备上。

        如果您的应用程序项目包含一个或多个动态特性模块,您可以通过修改现有的运行/调试配置,在部署应用程序时选择包含哪些动态特性,如下所示:

        1.从菜单栏中选择Run > Edit Configurations。

        2.在“Run/Debug Configurations”对话框的左侧面板中,选择所需的Android应用程序配置。

        3.在“Dynamic features to deploy”选项卡中,选中部署应用程序时希望包含的每个动态特性模块旁边的复选框。

        4.单击OK。

 

默认情况下,Android Studio不会使用应用程序包来部署应用程序。相反,IDE会构建并安装APK到您的设备上,这些APK是针对部署速度而不是APK大小进行优化的。要将Android Studio配置为从应用程序包构建和部署apk和即时体验,请修改运行/调试配置。

上一篇:vue中获取url参数


下一篇:python中RabbitMQ的使用(工作队列)