指定编译模式
界面设置
DevEco Studio 支持界面配置 Build Mode 配置选项,点击右上角图标选择编译模式。
内置三个选项:Default,debug,release。 如果在 build-profile.json5 文件中,自定义了其他编译模式,Build Mode 配置界面会提供对应选项。
- Default:默认选项,选择此项,构建 APP 包,使用 release 编译模式;构建 HAP/HSP/HAR 包,使用 debug 编译模式。
- debug:构建 APP/HAP/HSP/HAR 包,均使用 debug 编译模式,buildOption 中的 debuggable 默认为 true。此时的构建产物默认包含大量的调试信息,例如变量名、函数名、行号等,可以直接进行调试。这些调试信息会增加程序的体积,可能导致程序的运行速度降低。
- release:构建 APP/HAP/HSP/HAR 包,均使用 release 编译模式,buildOption 中的 debuggable 默认为 false。此时的构建产物会去掉大量的调试信息,只包含应用程序必要的代码和数据,以减小程序的体积,并且会对编译的字节码进行优化,提高程序的运行速度。
说明
- DevEco Studio 界面设置或命令行中指定的 buildMode 构建模式,只代表当前选择的 buildMode 的名称,最终编译产物是否是 Debug 应用取决于 buildOption 配置中的 debuggable 字段,构建模式使用的具体 buildOption 配置信息。
- LiteWearable 设备使用标准 JS 运行时,因此对应的应用开发在 release 模式下的构建产物中包含 JS 源码,请注意代码资产保护。
命令行设置
- 使用命令行参数 -p buildMode 指定编译模式,比如指定 "release" 编译模式,构建 entry 模块的 HAP 包:
hvigorw --mode module -p product=default -p module=entry@default -p buildMode=release assembleHap
- 使用命令行参数 -p debuggable=true 指定 "debug" 编译模式,-p debuggable=false 指定 "release" 编译模式,比如指定 "release" 编译模式,构建 entry 模块的 HAP 包:
hvigorw --mode module -p product=default -p module=entry@default -p debuggable=false assembleHap
当未指定编译模式时,构建 APP 包,默认 release 模式;构建 HAP/HSP/HAR 包时,默认 debug 模式。
定制编译模式
Hvigor 支持定制编译模式,采用 buildOption 字段声明编译选项,并通过 buildModeBinder 来绑定 target、buildOption 以及 buildMode 三者之间的组合关系。
定义编译选项
工程级 build-profile.json5 文件:
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| buildModeSet | array | 否 | 构建模式合集,可配置多个。 |
| name | string | 是 | 构建模式名称。内置三种类型,此三项无需用户显性配置:debug(开发、调试推荐选项)、release(打包、发布推荐选项)、test(运行 ohosTest 测试套件推荐选项)。项目中全局唯一,不区分大小写。仅允许在工程级 build-profile.json5 中声明、定义。相同的 buildMode 会被覆盖,按照配置顺序,后者覆盖前者。三种模式均支持自定义。 |


