一、内置构建模式当创建新工程时DevEco Studio会自动创建三种构建模式构建模式说明debug开发、调试推荐选项。buildOption中debuggable默认为true产物包含大量调试信息release打包、发布推荐选项。buildOption中debuggable默认为false产物会去掉调试信息并对字节码优化test运行ohosTest测试套件推荐选项未出现在配置文件中测试框架自动使用注意test模式虽然没有出现在工程级build-profile.json5中但用测试框架开启测试时自动使用。二、指定构建模式2.1 界面设置点击studio右上角小齿轮图标选择构建模式内置三个选项Default、debug、release。选项说明Default构建APP使用release模式构建HAP/HSP/HAR使用debug模式debug所有产物均使用debug模式debuggable默认为truerelease所有产物均使用release模式debuggable默认为false备注自定义构建模式也会在界面中显示对应选项。2.2 命令行设置通过buildMode指定hvigorw --mode module -p productdefault -p moduleentrydefault -p buildModerelease assembleHap通过debuggable指定# release模式 hvigorw --mode module -p productdefault -p moduleentrydefault -p debuggablefalse assembleHap # debug模式 hvigorw --mode module -p productdefault -p moduleentrydefault -p debuggabletrue 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使用的buildOptiontargetName buildOptionName四、默认绑定规则当buildModeBinder未定义target与buildOption的匹配关系时buildModetarget匹配ohosTest匹配releaserelease optiondefault optiondebugdebug optiondefault optiontestdebug 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定义buildModedebug/release/test/自定义模块级buildOptionSet定义buildOptionbuildModeBinder绑定target与buildOption的映射关系优先级为命令行 targets buildOptionSet buildOption products buildModeSet。