当前位置: 首页 > news >正文

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

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

一、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)
http://www.jsqmd.com/news/1175758/

相关文章:

  • 2026工业烘干除湿一体机哪家资质全排行盘点 - 互联网科技品牌测评
  • 深度解析:如何将老旧电视盒子转化为专业服务器的技术方案
  • STM32与TPS61170实现高效DC-DC升压方案
  • Prism 框架 入门
  • 抖店爆单订单自动化完整解决方案(2026合规密文版,抖掌柜适配单店/店群千单量级) - 抖掌柜
  • 最新实测广州各大连锁钻铺,7 月行情同步实时钻石流通报价 - 每日生活报
  • ReadCat小说阅读器:3分钟掌握免费开源的跨平台阅读神器终极解决方案
  • 如何在Mac上部署Agents-A1-bf16?超简单MLX框架环境搭建指南
  • 2026年消失模白膜烘干设备主流品牌排行一览 - 互联网科技品牌测评
  • 08 Spring 循环依赖怎么解决的?你背了三级缓存,但面试官其实想听这句
  • Rust 错误处理最佳实践清单:从库到应用的一整套约定
  • 医疗信创实战|全栈国产化改造与金仓数据库应用实践
  • 小实验-MPLS VPN Option C2(锐捷设备)
  • 2026年陕西西安装修行业实地调研:西安小户型装修怎么选,靠谱公司推荐口碑排名解析 - 小随科技
  • C# 从零搭建企业级身份账户系统
  • immutable Builder模式:高效构建大型集合的3个技巧
  • 2026 毓典奢品汇|天津黄金回收渠道对比:2026年7月卖金注意事项与正规门店测评汇总 - 奢侈品测评参考
  • pz 安全最佳实践:如何安全使用 --insecure 标志和环境变量
  • 2026中山新能源维修选择指引 阿森汽修入选本地推荐名录 - 互联网科技品牌测评
  • 海口潮玩玩具回收全解析!泡泡玛特、乐高、暴力熊闲置高价变现避坑指南 - 每日生活报
  • 2026消失模白膜烘干设备综合资质排行参考榜单 - 互联网科技品牌测评
  • MetaTube SDK Go高级功能:文本翻译、图像水印与自定义处理器
  • CVE-2026-0007 Android界面覆盖劫持提权漏洞深度解析与全维度防护方案
  • PUBG地图黑客内核驱动编程深度解析:终极实战指南
  • 2026年陕西西安装修行业实地调研:西安小户型装修怎么选,靠谱公司推荐口碑排名解析 - 子柔传媒
  • 微仓 Vwms 产品详解:专业级 SaaS WMS,中小企业仓储数字化的标准化方案
  • React 函数组件的重渲染根因分析:React DevTools Profiler 深度使用指南
  • 想了解西安豪美装修工艺/施工工艺?先看施工链条,再看落地表现 - 小随科技
  • HarmonyOS7 ArkUI 歌词滚动播放器 - 歌词同步高亮、进度控制与翻译切换实战:从状态到页面反馈
  • PUBG地图黑客安全部署指南:避免封号的10个终极技巧