尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

鸿蒙 构建系统:构建任务(三)

鸿蒙 构建系统:构建任务(三)
📅 发布时间:2026/7/12 19:15:37

在鸿蒙应用开发中,了解构建任务有助于理解编译打包的完整流程。

一、HAP基础任务流程

HAP构建任务的主要流程:依赖处理 → 资源编译 → ArkTS编译 → 打包 → 签名。

二、HSP基础任务流程

HSP构建任务的主要流程与HAP类似,但涉及动态共享包的独立打包流程。

三、HAR基础任务流程

HAR构建任务的主要流程:资源处理 → ArkTS编译 → HAR打包。

四、使用命令查看任务

在DevEco Studio中可以通过以下命令获得任务相关的信息:

命令说明
hvigorw taskTree获取任务树,根据工程中的模块,将模块中注册的任务以树形形式输出

执行顺序示例

assembleHap 依赖 CollectDebugSymbol CollectDebugSymbol 依赖于 PackageHap → 执行顺序:PackageHap → CollectDebugSymbol → assembleHap

五、任务说明

根据任务职能的不同,主要分为以下几种任务类型:

任务类别任务说明
HookHook任务
ArkTSArkTS编译相关任务
JSJS编译相关任务
Resources资源编译、处理、链接、合并相关的任务
Package打包相关的任务
Sign签名相关的任务
Verification验证项目或者依赖项设置等相关的任务
Generate生成和转换前置文件等相关的任务
Config生成、合并、处理配置文件等相关的任务
NativeNative编译等相关的任务
Help查询hvigor帮助信息的相关任务
Other未分类的任务

六、各任务类别

6.1 Hook

任务说明
assembleHap编译构建hap模块的Hook任务
assembleHsp编译构建hsp模块的Hook任务
assembleHar编译构建har模块的Hook任务
assembleApp编译构建app模块的Hook任务
assembleDevHqf支持增量部署的Hook任务
HotReloadBuildHotReloadArkTS前置Hook任务
PreviewBuildPreviewArkTS前置Hook任务
buildHotReloadResource热加载资源相关前置Hook任务
GenerateBuildProfile生成BuildProfile.ets文件的Hook任务
compileNativenative资源相关前置Hook任务

6.2 ArkTS(ArkTS编译相关)

任务说明
CompileArkTS/BuildArkTS通过rollup调用loader编译ArkTS源码
PreviewArkTS预览模式下编译ArkTS源码
HotReloadArkTS热加载场景下编译ArkTS源码
OhosTestCompileArkTS/OhosTestBuildArkTSohos测试场景下编译ArkTS源码
HarCompileArkTS/HarBuildArkTS构建HAR包场景下编译ArkTS源码
UnitTestArkTS单元测试场景下编译ArkTS源码

6.3 JS(JS编译相关)

任务说明
CompileJS/BuildJS调用loader编译js源码
OhosTestCompileJS/OhosTestBuildJSohos测试场景下编译js源码

6.4 Resources(资源编译相关)

任务说明
ProcessResource处理和生成用文件方式编译资源的中间文件
PreviewProcessResource预览场景下处理和生成资源中间文件
CompileResource调用restool编译资源
PreviewCompileResource预览场景下调用restool编译资源
ProcessLibs收集hap和har依赖中的.so文件

6.5 Package(打包相关)

任务说明
PackageHap调用打包工具打hap包
PackageHar调用打包工具打har包
PackageHsp调用打包工具打hsp包
PackageApp调用打包工具打app包
PackageHqf调用打包工具打增量包
PackageSharedHar调用打包工具打hsp模块的har包
PackageSignHar调用打包工具打带签名的har包(daemon模式下生效)

6.6 Sign(签名相关)

任务说明
SignHap调用签名工具给hap包签名
SignHsp调用签名工具给hsp包签名
SignApp调用签名工具给app包签名
SignHqf调用签名工具给增量包签名

6.7 Verification(验证相关)

任务说明
PreBuild模块级预检查任务
PreBuildApp工程级预检查任务
PreCheckSyscapsyscap相关配置预检查任务

6.8 Generate(生成相关)

任务说明
GenerateLoaderJson生成loader.json文件
GenerateMetadata生成metadata.json文件
SyscapTransformsyscap转换任务
MakePackInfo生成模块级别的pack.info
MakeProjectPackInfo生成工程级别的pack.info
CreateBuildProfile生成hap/hsp的BuildProfile.ets文件
CreateHarBuildProfile生成har的BuildProfile.ets文件

6.9 Config(配置相关)

任务说明
ProcessProfile处理module.json5文件
MergeProfile合并module.json5文件

6.10 Native(Native编译相关)

任务说明
BuildNativeWithNinja将native代码编译成so文件
BuildNativeWithCmake用CMake编译CPP源码

6.11 Help(帮助相关)

任务说明
tasks查看hvigor的全部任务及详情
taskTree查看当前工程涉及的任务树

6.12 Other(其他任务)

任务说明
ReplaceUnitTestIndexFile单元测试替换入口文件
clean清理生成的Build目录
collectCoverage基于仪表打点数据生成覆盖率统计报表

任务执行流程

依赖处理 → 资源编译(Resources) → ArkTS/JS编译 → 打包(Package) → 签名(Sign)

相关新闻

  • 2026年消失模白膜烘干设备主流品牌排行一览 - 互联网科技品牌测评
  • 08 Spring 循环依赖怎么解决的?你背了三级缓存,但面试官其实想听这句
  • 2026中山新能源维修选择指引 阿森汽修入选本地推荐名录 - 互联网科技品牌测评

最新新闻

  • 2026 苏州防水补漏实用指南 1 小时上门全场景服务 本地漏水痛点根治方案 - 徽顺虹
  • ReactPrimer新手入门:10分钟学会创建你的第一个组件原型
  • Awesome Wails精选:10个最佳开源桌面应用开发模板推荐
  • HarmonyKit | 鸿蒙开发展望:HarmonyKit 未来路线图与社区共建
  • java入门(起始于string截至到内部类)
  • 北影节「着迷」电影时尚之夜播出 电影跨界盛典打造“破圈”新内容

日新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号