鸿蒙 中构建模式定制(一)
2026/7/23 18:57:47 网站建设 项目流程

一、内置构建模式

当创建新工程时,DevEco Studio会自动创建三种构建模式:

构建模式说明
debug开发、调试推荐选项。buildOption中debuggable默认为true,产物包含大量调试信息
release打包、发布推荐选项。buildOption中debuggable默认为false,产物会去掉调试信息并对字节码优化
test运行ohosTest测试套件推荐选项(未出现在配置文件中,测试框架自动使用)

注意test模式虽然没有出现在工程级build-profile.json5中,但用测试框架开启测试时自动使用。

二、指定构建模式

2.1 界面设置

点击studio右上角小齿轮图标选择构建模式,内置三个选项:<Default>debugrelease

选项说明
<Default>构建APP使用release模式;构建HAP/HSP/HAR使用debug模式
debug所有产物均使用debug模式,debuggable默认为true
release所有产物均使用release模式,debuggable默认为false

备注:自定义构建模式也会在界面中显示对应选项。

2.2 命令行设置

通过buildMode指定

hvigorw --mode module -p product=default -p module=entry@default -p buildMode=release assembleHap

通过debuggable指定

# release模式 hvigorw --mode module -p product=default -p module=entry@default -p debuggable=false assembleHap # debug模式 hvigorw --mode module -p product=default -p module=entry@default -p debuggable=true assembleHap

备注:未指定构建模式时:构建APP默认release模式;构建HAP/HSP/HAR默认debug模式。

三、定制构建模式

采用buildOption字段声明编译选项,并通过buildModeBinder绑定target、buildOption和buildMode三者关系。

3.1 buildModeSet(工程级)

字段说明
name构建模式名称(全局唯一,不区分大小写)
buildOption构建模式使用的具体配置信息

内置三种(无需显性配置):debug、release、test。

3.2 buildOptionSet(模块级)

字段说明
namebuildOption名称(同模块唯一,不区分大小写)
copyFrom从本模块已有的buildOption复制配置后再覆写

内置三种:default、debug、release。

3.3 buildModeBinder(模块级)

为某一buildMode建立target与buildOption之间的映射关系。

字段说明
buildModeName指定待建立映射的buildMode(须在工程级buildModeSet中选取)
mappings绑定target使用的buildOption(targetName + buildOptionName)

四、默认绑定规则

当buildModeBinder未定义target与buildOption的匹配关系时:

buildModetarget匹配ohosTest匹配
releaserelease optiondefault option
debugdebug optiondefault option
testdebug optiondefault option
自定义default optiondefault option

五、编译选项继承覆写优先级

5.1 优先级顺序(从高到低)

命令行配置 ↓ targets配置 ↓ buildOptionSet配置 ↓ buildOption配置 ↓ products配置 ↓ buildModeSet配置

5.2 合并规则

规则说明
product优先级工程级product的buildOption > buildMode的buildOption(继承覆写)
模块级优先级buildOptionSet > buildOption(继承覆写)
target优先级target中的buildOption > buildOptionSet(继承覆写)
命令行最高在已整合配置基础上覆写

鸿蒙构建模式通过工程级buildModeSet定义buildMode(debug/release/test/自定义),模块级buildOptionSet定义buildOption,buildModeBinder绑定target与buildOption的映射关系,优先级为命令行 > targets > buildOptionSet > buildOption > products > buildModeSet。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询