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

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

目录

1 -> 任务流程图

1.1 -> HAP基础任务流程图

1.2 -> HSP基础任务流程图

1.3 -> HAR基础任务流程图

2 -> 使用命令查看任务

3 -> 任务详细说明

3.1 -> Hook

3.2 -> ArkTS

3.3 -> JS

3.4 -> Resources

3.5 -> Package

3.6 -> Sign

3.7 -> Verification

3.8 -> Generate

3.9 -> Config

3.10 -> Native

3.11 -> Help

3.12 -> Other

3.13 -> Sync

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 -> 任务详细说明

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

任务类别任务说明
Hookhook任务
ArkTSArkTS编译相关任务
JSJS编译相关任务
Resources资源编译、处理、链接、合并相关的任务
Package打包相关的任务
Sign签名相关的任务
Verification验证项目或者依赖项设置等相关的任务
Generate生成和转换前置文件等相关的任务
Config生成,合并,处理配置文件等相关的任务
NativeNative编译等相关的任务
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前的准备工作。


感谢各位大佬支持!!!

互三啦!!!

Read more

Java分治算法题目练习(快速/归并排序)

Java分治算法题目练习(快速/归并排序)

分治算法 * 颜色分类 * 排序数组(快排) * 数组中第K个最大元素 * 最小的K个数 * 排序数组(归并) * 交易逆序对的总数 * 翻转对 * 计算右侧小于当前元素的个数 使用快速排序和归并排序进行解决问题,因为这两个都是采用归并的思想 颜色分类 题目解析:将其数组中0放在左边,1放在中间,2放在右边 在双指针算法中有一个移动零的题目,就是将所有0元素移动到右边,但是非0元素相对位置不改变 那题使用双指针将其数组分为三部分,因此这题也可以将其数组分块 left表示为0区域最右侧,i遍历数组,right表示2区域最左侧 使用这三个指针将这个数组分为了4部分 classSolution{publicvoidsortColors(int[] nums){//可以将其数组分为三部分//[0,left]:全是0//[left+1,i-1]全都是1//[i,right-1]待扫描//[right,n-1]全是2int left =-1;int i =0;

By Ne0inhk

OpenHashTab 文件哈希校验工具完整使用指南:三步轻松搞定文件完整性验证

OpenHashTab 文件哈希校验工具完整使用指南:三步轻松搞定文件完整性验证 【免费下载链接】OpenHashTab📝 File hashing and checking shell extension 项目地址: https://gitcode.com/gh_mirrors/op/OpenHashTab 在数字时代,文件完整性验证变得尤为重要。无论是下载软件、传输重要文档还是验证系统文件,文件哈希校验都是确保数据安全的关键步骤。OpenHashTab作为一款免费开源的文件哈希校验工具,让这一复杂过程变得简单直观。 🔍 为什么您的电脑需要文件哈希校验工具? 每天我们都在下载和使用各种文件,但您是否曾担心: * 下载的文件是否完整无损? * 重要文档在传输过程中是否被篡改? * 软件安装包是否来自官方源? OpenHashTab正是为解决这些问题而生,它通过计算文件的数字指纹(哈希值),为您提供可靠的完整性验证方案。 🚀 快速上手:三步完成文件哈希校验 第一步:轻松安装OpenHashTab 新手推荐安装方式: 下载最新版本的安装程序,双击运行后按照

By Ne0inhk
Flutter 组件 vnlunar 适配鸿蒙 HarmonyOS 实战:高精度农历算法,构建民俗文化日期与节气治理架构

Flutter 组件 vnlunar 适配鸿蒙 HarmonyOS 实战:高精度农历算法,构建民俗文化日期与节气治理架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 vnlunar 适配鸿蒙 HarmonyOS 实战:高精度农历算法,构建民俗文化日期与节气治理架构 前言 在鸿蒙(OpenHarmony)生态迈向全球化部署、涉及多语言本地化(L10n)及深层文化特性适配的背景下,如何实现准确的阴阳历(农历)转换、二十四节气计算及民俗节日提醒,已成为提升应用“人文温度”与本地化竞争力的核心要素。在鸿蒙设备这类强调分布式时间同步与低功耗常驻显示(AOD)的环境下,如果应用依然依赖简单的查表法或通过网络接口获取农历信息,由于由于闰月计算的复杂性或离线环境限制,极易由于由于计算偏移导致传统节日提醒的误报。 我们需要一种能够实现天文级算法推演、支持高精度节气定位且具备纯 Dart 离线运作能力的历法治理方案。 vnlunar 为 Flutter 开发者引入了标准化的阴阳历转换协议。它不仅支持对天干地支、生肖及闰月的精确解构,更针对东南亚等地区的历法细微差异提供了专项适配。在适配到鸿蒙 HarmonyOS 流程

By Ne0inhk
【MADRL】多智能体双延迟深度确定性策略梯度(MATD3)算法

【MADRL】多智能体双延迟深度确定性策略梯度(MATD3)算法

本篇文章是博主强化学习RL领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在强化学习专栏:        强化学习(7)---《【MADRL】多智能体双延迟深度确定性策略梯度(MATD3)算法》 多智能体双延迟深度确定性策略梯度(MATD3)算法 目录 1.MATD3算法介绍 2.背景 3.算法结构 4.具体公式 5.算法流程 6.公式总结 7.优势与应用场景 8.总结  [Python] MATD3实现(可移植) 1.MATD3算法介绍         MATD3(Multi-Agent Twin Delayed Deep Deterministic Policy Gradient)是基于TD3(Twin

By Ne0inhk