鸿蒙(HarmonyOS)应用开发实战——定制HAP多目标构建产物

往期知识点整理

  • 鸿蒙(HarmonyOS)北向开发知识点记录~
  • 被裁员后,踏上了鸿蒙开发求职之路
  • 持续更新中……

介绍

应用厂商会根据不同的部署环境,不同的目标人群,不同的运行环境等,将同一个应用定制为不同的版本,如国内版、国际版、普通版、VIP版、免费版、付费版等。针对以上场景,DevEco Studio支持通过少量的代码差异化配置处理,在编译构建过程中实现一个应用构建出不同的目标产物版本,从而实现源代码、资源文件等的高效复用。

本案例展示如何将工程打包成不同版本,并单独配置资源文件,实现 定制多目标构建产物 功能。

实现思路

在了解HarmonyOS应用的多目标构建产物如何定制前,先了解product和target的概念:

  • 一个HarmonyOS工程由一个或多个模块组成,工程的构建产物为APP包,APP包用于应用/服务发布上架应用市场。由于不同的业务场景,需要定制不同的应用包,因此引入product概念。一个工程可以定义多个product,每个product对应一个定制化应用包,通过配置可以实现一个工程构建出多个不同的应用包。
  • 工程内的每一个Entry/Feature模块,对应的构建产物为HAP,HAP是应用/服务可以独立运行在设备中的形态。由于在不同的业务场景中,同一个模块可能需要定制不同的功能或资源,因此引入target的概念。一个模块可以定义多个target,每个target对应一个定制的HAP,通过配置可以实现一个模块构建出不同的HAP。
1.定义目标产物target

每一个Entry/Feature模块均支持定制不同的target,通过在模块中的build-profile.json5文件中实现差异化定制,当前支持设备类型(deviceType)、源码集(source)、资源(resource)、C++依赖的.so(buildOption)的定制。

每一个target对应一个定制的HAP,因此,在定制HAP多目标构建产物前,应提前规划好需要定制的target名称。例如,以本工程为例,定义一个默认版和适配tablet版。示例如下:

你可能感兴趣的:(移动开发,HarmonyOS,鸿蒙开发,harmonyos,移动开发,鸿蒙开发,ArkUI,组件化,HAP)