鸿蒙 构建系统:hvigor-config.json5文件 📅 2026/7/13 21:52:04 在鸿蒙应用开发中hvigor-config.json5是Hvigor构建系统的核心配置文件。一、配置文件整体结构hvigor-config.json5文件整体的结构如下modelVersion dependencies execution ├── analyze ├── daemon ├── incremental ├── parallel ├── typeCheck └── optimizationStrategy logging └── level debugging └── stacktrace nodeOptions ├── maxOldSpaceSize ├── maxSemiSpaceSize └── exposeGC javaOptions └── Xmx properties ├── hvigor.cacheDir ├── ohos.buildDir ├── enableSignTask ├── ohos.arkCompile.maxSize ├── hvigor.pool.cache.capacity ├── hvigor.pool.maxSize ├── ohos.pack.compressLevel ├── hvigor.analyzeHtml ├── hvigor.dependency.useNpm ├── ohos.compile.lib.entryfile ├── ohos.align.target ├── ohos.fallback.target ├── ohos.arkCompile.sourceMapDir ├── ohos.collect.debugSymbol ├── hvigor.enableMemoryCache ├── hvigor.memoryThreshold ├── ohos.nativeResolver ├── ohos.arkCompile.noEmitJs ├── ohos.arkCompile.singleFileEmit ├── ohos.sign.har ├── hvigor.keepDependency ├── ohos.arkCompile.emptyBundleName ├── ohos.uiTransform.Optimization ├── ohos.har.excludeHspDependencies ├── ohos.processLib.optimization ├── ohos.obfuscationRules.optimization ├── hvigor.incremental.optimization ├── hvigor.task.schedule.optimization ├── ohos.byteCodeHar.integratedOptimization ├── ohos.rollupCache.usePathPlaceholder ├── ohos.rollupCache.useSourceHash ├── ohos.arkCompile.writeRollupCache ├── ohos.align.deviceTypes ├── ohos.dependencies.types.enable ├── ohos.defaults.release.cmakebuildtype └── ohos.defaults.autoLazyImport parameterFile二、字段说明2.1 顶层字段字段名称可选/必选类型含义modelVersion必选字符串开发态版本号dependencies必选对象当前工程执行构建任务时依赖的构建插件及版本为npm源组件execution可选对象执行构建的相关配置参数仅在命令行场景下生效logging可选对象日志相关配置参数debugging可选对象调测相关配置参数nodeOptions可选对象Node相关配置参数javaOptions可选对象Java相关配置参数properties可选对象额外配置参数parameterFile可选字符串自定义的参数化配置文件路径6.0.2 Beta1注意修改dependencies后请根据界面提示点击Sync Now安装依赖。2.2 execution字段执行构建的相关配置参数。除optimizationStrategy外其他字段仅在命令行构建场景下生效IDE中需在Settings中设置。字段名称类型含义analyze字符串/布尔值构建分析模式。• normal默认普通模式• advanced进阶模式更详细打点数据• ultrafine超精细化模式6.0.0 Beta1• false不启用daemon布尔值是否启用守护进程编译默认trueincremental布尔值是否启用增量编译默认trueparallel布尔值是否启用并行编译默认truetypeCheck布尔值是否启用hvigorfile.ts类型检查默认falseoptimizationStrategy字符串构建模式5.1.1 Release。• performance性能优先加快构建速度• memory默认内存优先减少内存占用示例{ execution: { analyze: normal, daemon: true, incremental: true, parallel: true, typeCheck: false, optimizationStrategy: performance } }2.3 logging字段字段名称类型含义level字符串日志级别debug、info默认、warn、error2.4 debugging字段字段名称类型含义stacktrace布尔值是否启用堆栈跟踪默认false2.5 nodeOptions字段字段名称类型含义maxOldSpaceSize整型守护进程最大老生代内存默认8192MBmaxSemiSpaceSize整型新生代最大半空间大小默认16MB5.1.0 ReleaseexposeGC布尔值是否启用GC默认true2.6 javaOptions字段字段名称类型含义Xmx整型JVM最大堆内存默认512MB三、properties字段3.1 基础配置字段名称类型含义hvigor.cacheDir字符串指定.hvigor缓存文件夹存放路径ohos.buildDir字符串指定构建产物目录build目录存放位置enableSignTask布尔值是否启用HAP/HSP签名任务默认true注意同名的不同工程不可指定相同的存放位置。3.2 编译优化配置字段名称类型含义ohos.arkCompile.maxSize整型编译ArkTS线程数量默认5hvigor.pool.cache.capacity整型内存缓存数据容量默认4hvigor.pool.maxSize整型编译过程中线程数量hvigor.enableMemoryCache布尔值是否开启缓存默认truehvigor.memoryThreshold整型内存管理阈值MBohos.nativeResolver布尔值是否使用高性能插件进行依赖寻址默认true3.3 产物/打包配置字段名称类型含义ohos.pack.compressLevel字符串打包压缩率等级fast默认、standard、ultimateohos.sign.har布尔值是否启用HAR签名任务默认falsehvigor.keepDependency布尔值是否保持hsp中的所有依赖默认true3.4 调试/分析配置字段名称类型含义hvigor.analyzeHtml布尔值是否生成构建可视化html文件默认falseohos.arkCompile.sourceMapDir字符串sourceMap文件生成路径API 12ohos.collect.debugSymbol布尔值是否归档sourceMap等调试符号release默认truedebug默认false3.5 依赖/编译行为配置字段名称类型含义hvigor.dependency.useNpm布尔值是否使用npm下载hvigor依赖ohos.compile.lib.entryfile布尔值是否从入口文件开始编译默认falseohos.arkCompile.noEmitJs布尔值是否生成js中间产物默认falseohos.arkCompile.singleFileEmit布尔值是否开启单文件解析后写入磁盘默认falseohos.har.excludeHspDependencies布尔值HAR产物中是否排除依赖的hsp默认false3.6 优化开关实验特性字段名称类型含义hvigor.incremental.optimization布尔值是否开启任务增量判断优化默认falsehvigor.task.schedule.optimization布尔值是否开启任务调度优化默认falseohos.byteCodeHar.integratedOptimization布尔值是否开启字节码HAR集成行为优化5.1.1 Beta13.7 其他配置字段名称类型含义ohos.align.deviceTypes字符串数组指定归一的设备类型6.0.0 Beta2ohos.defaults.release.cmakebuildtype字符串release模式下cmake构建类型6.0.1 Beta1ohos.defaults.autoLazyImport布尔值是否自动添加lazy关键字6.0.2 Beta1四、parameterFile参数化配置6.0.2 Beta1编译构建新增参数化配置功能。可添加一个参数化文件json5格式在该文件中维护build-profile.json5中部分字段的值方便快速切换构建配置。4.2 支持参数化的字段字段说明source.sourceRoots源码根目录resource.directories资源目录buildProfileFields构建Profile字段4.3 配置示例hvigor-config.json5{ parameterFile: ./parameterFile.json5 }parameterFile.json5{ source: { customizedSourceRoot1: ./src/default1, customizedSourceRoot2: ./src/default2 } }模块级build-profile.json5{ targets: [ { name: default, source: { sourceRoots: [param:source.customizedSourceRoot1] } } ] }注意引用时必须以param:开头。五、核心点配置项说明modelVersion/dependencies必填版本号和依赖execution构建执行参数analyze/daemon/incremental/parallel等properties额外配置缓存路径、线程数、压缩率、sourceMap等parameterFile参数化配置支持sourceRoots/resource.directories/buildProfileFieldsproperties常用字段字段默认值说明enableSignTasktrue是否启用签名ohos.arkCompile.maxSize5ArkTS编译线程数ohos.pack.compressLevelfast压缩率等级hvigor.analyzeHtmlfalse是否生成构建可视化htmlohos.collect.debugSymbolrelease:true/debug:false是否归档调试符号