鸿蒙 构建模式定制(二)

发布时间:2026/7/21 14:29:04
鸿蒙 构建模式定制(二) 开发中调试和正式发布版本的编译行为通常不同如debug开启调试信息、release开启混淆。通过利用buildMode能力定制两种版本的编译差异性。一、说明示例工程中包含一个模块entry交付到构建产物default中模块定制两种不同的编译模式构建模式编译行为debug使能debug调试不开启混淆release使能混淆对代码进行保护二、工程级build-profile.json5配置{ app: { signingConfigs: [], products: [ { name: default, signingConfig: default, compatibleSdkVersion: 26.0.0, runtimeOS: HarmonyOS, buildOption: { strictMode: { caseSensitiveCheck: true, useNormalizedOHMUrl: true } } } ], buildModeSet: [ { name: debug }, { name: release } ] }, modules: [ { name: entry, srcPath: ./entry, targets: [ { name: default, applyToProducts: [default] } ] } ] }关键配置配置项说明products定义产品defaultbuildModeSet定义debug和release两种构建模式modules.targetsentry模块绑定到default product三、模块级build-profile.json5配置{ apiType: stageMode, buildOption: {}, buildOptionSet: [ { name: release, arkOptions: { obfuscation: { ruleOptions: { enable: true, files: [./obfuscation-rules.txt] } } } }, { name: debug, debuggable: true, arkOptions: { obfuscation: { ruleOptions: { enable: false } } } } ], buildModeBinder: [ { buildModeName: release, mappings: [ { buildOptionName: release, targetName: default } ] }, { buildModeName: debug, mappings: [ { buildOptionName: debug, targetName: default } ] } ], targets: [ { name: default }, { name: ohosTest } ] }关键配置配置项说明buildOptionSet定义release开启混淆和debugdebuggable:true不混淆buildModeBinder将release模式绑定release optiondebug模式绑定debug option四、指定构建模式4.1 命令行方式构建debug模式hvigorw --mode project -p productdefault -p buildModedebug assembleApp构建release模式hvigorw --mode project -p productdefault -p buildModerelease assembleApp4.2 DevEco Studio界面Build Mode下拉选择对应配置选项debug/release点击Build → Build Hap(s)/APP(s) → Build APP(s)五、编译产物构建模式产物特征debug包含调试信息可进行调试不开启混淆release去掉调试信息减小体积开启混淆保护代码