任务流程图

HAP基础任务流程图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

HSP基础任务流程图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

HAR基础任务流程图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用命令查看任务

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

hvigorw taskTree

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

任务详细说明

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

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

ArkTS

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

JS

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

Resources

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

Package

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

Sign

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

Verification

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

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文件中。

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任务。

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文件。

Native

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

Help

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

Other

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

Sync

  • init 初始化工程。

Init

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

最后呢

很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

在这里插入图片描述

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。

  • 《鸿蒙 (OpenHarmony)开发学习视频》
  • 《鸿蒙生态应用开发V2.0白皮书》
  • 《鸿蒙 (OpenHarmony)开发基础到实战手册》
  • OpenHarmony北向、南向开发环境搭建
  • 《鸿蒙开发基础》
  • 《鸿蒙开发进阶》
  • 《鸿蒙开发实战》

在这里插入图片描述

总结

鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿
1

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐