鸿蒙 构建系统:多模块管理

一、多模块

   模块是应用/元服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/元服务配置文件。Hvigor支持工程多模块管理,可在build-profile.json5配置文件中增加对应模块信息,即可对模块进行工程绑定和管理,或在hvigorconfig.ts脚本中动态添加或排除某个模块。

二、多模块配置

2.1 静态配置模块

工程级build-profile.json5配置文件中的modules字段,用于记录工程下的模块信息。

字段说明
name模块名称,需与module.json5中的module.name保持一致
srcPath模块源码路径(相对工程根目录的相对路径)
targets模块的target信息,用于定制多目标构建产物

2.2 工程结构示例

工程根目录
├── .hvigor目录                // 构建缓存文件目录
├── hvigor-config.json5        // 构建引擎配置文件
├── build-profile.json5        // 工程级构建配置文件
├── hvigorfile.ts              // 工程级构建动态自定义脚本
├── module1/
│   ├── 模块源码文件
│   ├── build-profile.json5    // 模块级构建配置文件
│   └── hvigorfile.ts          // 模块级构建动态自定义脚本
├── module2/
│   ├── 模块源码文件
│   ├── build-profile.json5
│   └── hvigorfile.ts
└── 其他配置文件
    ├── oh-package.json5       // 三方包依赖配置文件
    ├── local.properties       // 本地环境配置文件
    ├── obfuscation-rules.txt  // 模块混淆规则配置文件
    └── consumer-rules.txt     // HAR/HSP模块导出混淆规则文件

2.3 静态配置示例

{
  "modules": [
    {
      "name": "module1",
      "srcPath": "./module1"
    },
    {
      "name": "module2",
      "srcPath": "./module2"
    }
  ]
}

2.4 动态配置模块

Hvigor支持在hvigorconfig.ts脚本中动态添加或排除某个模块,具体API及示例可参考官方HvigorConfig配置。

三、分模块编译

Hvigor支持分模块编译和打包,可通过以下两种方式进行:

方式操作
DevEco Studio菜单选中需构建的模块目录,点击Build → "Make module 'module1'"
命令行在Terminal中执行命令:hvigorw --mode module -p product=default -p module=entry@default assembleHap

命令行参数说明

参数说明
--mode module指定模块构建模式
-p product=default指定产品名称
-p module=entry@default指定模块名@target名
assembleHap构建HAP包(构建HAR使用assembleHar,构建HSP使用assembleHsp

四、其他

4.1 文件说明

文件作用
工程级build-profile.json5定义模块信息、应用信息、App构建行为
模块级build-profile.json5定义当前模块的构建信息、构建行为
hvigorfile.ts定义和扩展构建流程
oh-package.json5三方包依赖配置

4.2 分模块构建命令

产物类型命令
HAPhvigorw --mode module -p product=default -p module=entry@default assembleHap
HARhvigorw --mode module -p product=default -p module=library@default assembleHar
HSPhvigorw --mode module -p product=default -p module=library@default assembleHsp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值