【HarmonyOS Next之旅】DevEco Studio使用指南(三十三) -> 构建任务

目录

[1 -> 任务流程图](#1 -> 任务流程图)

[1.1 -> HAP基础任务流程图](#1.1 -> HAP基础任务流程图)

[1.2 -> HSP基础任务流程图](#1.2 -> HSP基础任务流程图)

[1.3 -> HAR基础任务流程图](#1.3 -> HAR基础任务流程图)

[2 -> 使用命令查看任务](#2 -> 使用命令查看任务)

[3 -> 任务详细说明](#3 -> 任务详细说明)

[3.1 -> Hook](#3.1 -> Hook)

[3.2 -> ArkTS](#3.2 -> ArkTS)

[3.3 -> JS](#3.3 -> JS)

[3.4 -> Resources](#3.4 -> Resources)

[3.5 -> Package](#3.5 -> Package)

[3.6 -> Sign](#3.6 -> Sign)

[3.7 -> Verification](#3.7 -> Verification)

[3.8 -> Generate](#3.8 -> Generate)

[3.9 -> Config](#3.9 -> Config)

[3.10 -> Native](#3.10 -> Native)

[3.11 -> Help](#3.11 -> Help)

[3.12 -> Other](#3.12 -> Other)

[3.13 -> Sync](#3.13 -> Sync)

[3.14 -> Init](#3.14 -> Init)


1 -> 任务流程图

1.1 -> HAP基础任务流程图

1.2 -> HSP基础任务流程图

1.3 -> HAR基础任务流程图

2 -> 使用命令查看任务

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

复制代码
hvigorw taskTree

获取任务树时会根据工程中的模块将模块中注册的任务树以下图形式输出:

执行顺序举例说明:如图所示,assembleHap依赖signHap,signHap依赖于packageHap;则任务执行顺序则为packageHap->signHap->assembleHap。

3 -> 任务详细说明

根据任务职能的不同主要分为以下几个类型的任务。

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

3.1 -> Hook

  • assembleHap 编译构建hap模块的Hook任务。
  • assembleHsp 编译构建hsp模块的Hook任务。
  • assembleHar 编译构建har模块的Hook任务。
  • assembleApp 编译构建app模块的Hook任务。
  • assembleDevHqf 支持增量部署的Hook任务。
  • HotReloadBuild HotReloadArkTS前置Hook任务。
  • PreviewBuild PreviewArkTS前置Hook任务。
  • buildHotReloadResource 热加载资源相关前置Hook任务。
  • PreviewHookCompileResource 预览时资源编译处理是否支持Restool增量方式编译的Hook任务。
  • GenerateBuildProfile 生成BuildProfile.ets文件的Hook任务。
  • BuildUnitTestHook 单元测试编译资源相关前置Hook任务。
  • buildPreviewerResource 预览资源相关前置Hook任务。
  • compileNative native资源相关前置Hook任务。
  • UnitTestBuild UnitTestArkTS前置Hook任务。
  • test 使用命令行执行Local Test的Hook任务。
  • onDeviceTest 使用命令行执行Instrument Test的Hook任务。

3.2 -> ArkTS

  • CompileArkTS/BuildArkTS 调用loader编译ArkTS源码。
  • PreviewArkTS 预览模式下,调用loader编译ArkTS源码。
  • HotReloadArkTS 热加载场景下,调用loader编译ArkTS源码。
  • OhosTestCompileArkTS/OhosTestBuildArkTS ohos测试场景下,调用loader编译ArkTS源码。
  • HarCompileArkTS/HarBuildArkTS 构建HAR包场景下,调用loader编译ArkTS源码。
  • UnitTestArkTS 单元测试场景下,调用loader编译ArkTS源码。

3.3 -> JS

  • CompileJS/BuildJS 调用loader编译js源码。
  • OhosTestCompileJS/OhosTestCompileJS ohos测试场景下,调用loader编译js源码。

3.4 -> Resources

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

3.5 -> Package

  • PackageHap 调用打包工具打hap包。
  • PackageHar 调用打包工具打har包。
  • PackageHsp 调用打包工具打hsp包。
  • PackageApp 调用打包工具打app包。
  • PackageHqf 调用打包工具打增量包。
  • PackageSharedHar 调用打包工具打hsp模块的har包。
  • PackageSharedTgz 调用打包工具将hsp模块生成的未签名hap和har包打包成tgz包。
  • PackageSignHar 调用打包工具打带签名的har包,当前仅在daemon模式下生效。

3.6 -> Sign

  • SignHap 调用签名工具给hap包签名。
  • SignHsp 调用签名工具给hsp包签名。
  • SignApp 调用签名工具给app包签名。
  • SignHqf 调用签名工具给增量包签名。
  • SignModuleRemoteHsp 调用签名工具给模块级ohpm仓上的hsp包签名。
  • SignProjectRemoteHsp 调用签名工具给工程级ohpm仓上的hsp包签名。

3.7 -> Verification

  • PreBuild 模块级预检查任务。
  • PreBuildApp 工程级预检查任务。
  • PreCheckSyscap syscap相关配置预检查任务。

3.8 -> Generate

  • GenerateLoaderJson 生成loader.json文件。
  • GenerateMetadata 生成metadata.json文件。
  • SyscapTransform syscap转换任务。
  • MakePackInfo 生成模块级别的pack.info
  • MakeProjectPackInfo 生成工程级别的pack.info
  • ProcessPackageJson 对package.json文件进行处理。
  • ProcessOHPackageJson 对oh_package.json5文件进行处理。
  • GeneratePackRes 生成pack.res文件。
  • CreateBuildProfile 生成hap/hsp的BuildProfile.ets文件。
  • CreateHarBuildProfile 生成har的BuildProfile.ets文件。
  • PrepareQuickfix 通过校验获取增量文件并输出到quiekfix.json文件中。

3.9 -> Config

  • ProcessProfile 处理module.json5文件。
  • PrepareSharedHarResource 生成打包shared library的package.json和module.json。
  • UnitTestProcessProfile UnitTestBuild场景处理构建中间产物module.json文件。
  • MergeProfile 合并module.json5文件。
  • PreviewUpdateAssets 预览模式下,Stage模型在编译预览代码前更新前置任务生成的module.json和main_pages.json文件。

3.10 -> Native

  • BuildNativeWithNinja 将native代码编译成so文件。
  • BuildNativeWithCmake 用CMake编译CPP源码。

3.11 -> Help

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

3.12 -> Other

  • ReplaceUnitTestIndexFile 单元测试替换入口文件。
  • ReplacePreviewerPage 接受预览器提供的参数替换页面文件中的参数。
  • OhosTestCopyMockConfigJson 测试框架执行mock时将mock-config.json拷贝到测试包中。
  • clean 清理生成的Build目录。
  • collectCoverage 基于仪表打点数据生成覆盖率统计报表。

3.13 -> Sync

  • init 初始化工程。

3.14 -> Init

该任务类型与Sync下的init不同,该过程中无具体任务,主要负责执行调用hvigor前的准备工作。


感谢各位大佬支持!!!

互三啦!!!

相关推荐
zhanshuo2 小时前
在鸿蒙里优雅地处理网络错误:从 Demo 到实战案例
harmonyos
zhanshuo2 小时前
在鸿蒙中实现深色/浅色模式切换:从原理到可运行 Demo
harmonyos
whysqwhw7 小时前
鸿蒙分布式投屏
harmonyos
whysqwhw8 小时前
鸿蒙AVSession Kit
harmonyos
whysqwhw10 小时前
鸿蒙各种生命周期
harmonyos
whysqwhw11 小时前
鸿蒙音频编码
harmonyos
whysqwhw11 小时前
鸿蒙音频解码
harmonyos
whysqwhw11 小时前
鸿蒙视频解码
harmonyos
whysqwhw11 小时前
鸿蒙视频编码
harmonyos
ajassi200011 小时前
开源 Arkts 鸿蒙应用 开发(十八)通讯--Ble低功耗蓝牙服务器
华为·开源·harmonyos