`
龙儿筝
  • 浏览: 788 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

鸿蒙hvigor构建任务依赖与生命周期简介

阅读更多

Hivgor脚本文件

在构建的生命周期中Hvigor使用两个脚本文件来完成插件、任务以及生命周期hook的注册:

  • hvigorconfig.ts:此文件在整个项目中只有根目录下存在一份,不是构建必须的文件并且默认不存在,如有需要可自行创建,此文件被解析执行的时间较早,可用于在Hvigor生命周期刚开始时操作某些数据。
  • hvigorfile.ts:此文件在每个node下都有一份,是构建的必须文件,在此文件中可以注册插件、任务以及生命周期hook等操作。

任务与任务依赖图

Hvigor是基于任务对您的项目进行自动化构建的,任务(Task)是Hvigor构建过程中的基本工作单元,它定义了构建项目时需要执行的具体工作。任务可以完成多种操作,比如源码编译任务,打包任务或签名任务等。每一种任务的执行逻辑由插件(plugin)提供,插件可以是由hvigor-ohos-plugin提供的默认任务逻辑,也可由您个性化定制。

需要注意的一点是,任务是存在依赖关系的,Hvigor在执行任何任务之前会构建任务依赖图,所有任务会形成一个有向无环图(DAG),如下示例图,任务之间的依赖关系用箭头进行表示:
img1
hvigor插件(hvigor-ohos-plugin)和hvigorfile.ts文件中的构建脚本都将通过任务依赖机制对任务依赖图做出影响。

hvigor-ohos-plugin

hvigor-ohos-plugin是默认的构建插件,为任务(Task)的完成提供业务逻辑支持,比如为Hvigor提供Hap、Har和Hsp打包服务等任务,每一种任务的具体执行逻辑由本模块中不同的插件来提供。

Hvigor与hvigor-ohos-plugin的关系

概述部分提到了Hvigor提供任务注册编排以及配置管理等任务管理机制,它负责控制任务的执行流程,但是并不包含每一个任务的具体业务逻辑,具体逻辑是由hvigor-ohos-plugin提供的。

Hvigor和hvigor-ohos-plugin的关系可以通过下图来说明,Hvigor接受任务的注册并编排任务执行顺序,并按照顺序依次调用hvigor-ohos-plugin中的插件来执行任务。如果您定制了自己的任务逻辑插件并将其注册,hvigor-ohos-plugin也会调用您的个性化插件来完成编译构建流程。

在Hvigor执行构建的过程中,hvigor-ohos-plugin会向Hvigor进行任务的注册,Hvigor会根据构建的任务执行有向图依次调用对应的插件来执行相应任务,在完成编译、打包、签名等一系列任务后,Hvigor也就正式完成了构建。
img2

Hvigor生命周期

生命周期展示了Hvigor编译构建系统如何进行一次完整的编译构建流程。Hvigor的编译构建过程有三个不同的阶段,分为初始化、配置和执行,Hvigor会按顺序运行这些阶段。

  • 初始化:此阶段主要目的为初始化项目的编译参数,构造出项目结构的树形数据模型,每个node为一个HvigorNode对象。
  • 配置:此阶段开始时,所有的node都已经加载完毕,但每个node中还没有加载插件(plugin)、任务(task)和DAG图,此阶段的主要目的就是加载出这些内容。
  • 执行:任务之间的依赖关系决定了任务执行顺序,任务可以并行执行

生命周期及hook点

在Hvigor的生命周期中,以下多个hook点可供您使用,便于您在对应的时机调用某些逻辑。在下图中所有绿色标记的线框为可以使用的hook点
img3

0
0
分享到:
评论

相关推荐

    探索HarmonyOS的智能维护与应用生命周期:开发者指南

    5. **生态系统**:华为致力于构建HarmonyOS的生态系统,鼓励开发者为该平台开发应用,并与多家硬件厂商合作推出搭载HarmonyOS的设备。 HarmonyOS的发布,标志着华为在操作系统领域的自主创新和技术积累,同时也展示...

    一套代码了解HarmonyOS的生命周期.rar

    本资源“一套代码了解HarmonyOS的生命周期.rar”聚焦于HarmonyOS应用的生命周期管理,通过实例代码帮助开发者深入理解这一核心概念。 在HarmonyOS中,应用程序的生命周期管理是确保程序正确运行和优化资源使用的...

    Ability生命周期.zip

    这些阶段与Android中的Activity生命周期类似,但有一些关键区别,适应了HarmonyOS分布式系统的需求。 2. **初始化(Init)** 当系统创建一个Ability实例时,会先调用`onCreate()`方法,这是Ability生命周期的起点...

    HarmonyOS云开发基础认证自刷题库

    为了帮助开发者更好地掌握HarmonyOS的云开发技能,官方提供了“HarmonyOS云开发基础认证”考试,旨在测试和提升开发者在Serverless、用户认证、云函数、云数据库、云存储等方面的理论知识与实践能力。本文将深入探讨...

    HarmonyOS鸿蒙应用开发者高级认证题库(覆盖99%考题)

    ### HarmonyOS应用开发者高级认证题库解析 #### 一、判断题解析 1. **云函数打包完成后,...- **解析**:在HarmonyOS开发中,自定义组件确实拥有自己的生命周期,这与标准UI组件类似,包括初始化、显示、隐藏等阶段。

    HarmonyOS 鸿蒙小应用.zip

    HarmonyOSSampleCloud-main 是一个基于华为鸿蒙操作系统(HarmonyOS)开发的小应用程序示例项目。这个压缩包包含了开发者需要的源代码、资源文件以及相关的文档,旨在帮助开发者理解和学习如何在鸿蒙系统上构建小...

    基于鸿蒙HarmonyOS,使用ArkTS开发纯净的浏览器(小狐狸浏览器).zip

    综上所述,基于鸿蒙HarmonyOS和ArkTS开发“小狐狸浏览器”是一项技术挑战与创新并存的任务。开发者需要深入理解鸿蒙OS的架构和ArkTS的语法特性,同时注重用户体验、性能优化和安全防护,才能打造一款优秀的纯净...

    HarmonyOS应用开发者基础认证考试题目及答案

    HarmonyOS 应用开发者基础认证考试涵盖了HarmonyOS应用开发的核心知识,包括数据存储、组件使用、生命周期管理、网络请求以及界面布局等多个方面。以下是这些知识点的详细解释: 1. **首选项Preferences**:...

    华为鸿蒙HarmonyOS开发者资料大全鸿蒙系统开发资料汇总.zip

    鸿蒙HarmonyOS开发者资料大全鸿蒙系统开发资料汇总,包括如下: DevEco Studio 1.0 使用指南.pdf HarmonyOS-NFC开发指南.pdf HarmonyOS应用开发之页面开发.pdf HarmonyOS开发必备基础知识.pdf WLAN开发指南.pdf 图像...

    基于HarmonyOS 4开发的一款刷题的鸿蒙APP源代码

    在本项目中,我们主要关注的是基于HarmonyOS 4构建的一款刷题应用程序的源代码。HarmonyOS是由华为公司研发的操作系统,旨在为不同设备提供统一的平台,实现跨平台、全场景的智能生活体验。这个应用是针对开发者设计...

    基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码

    基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码,代码完整下载即用。 基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码,代码完整下载即用。基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码,代码完整下载即用...

    鸿蒙简单页面demo.zip

    【鸿蒙简单页面demo.zip】是一个包含华为鸿蒙系统(HarmonyOS)开发示例的压缩包,名为"MyApplication-master"。这个项目很可能是为了帮助开发者理解和实践在鸿蒙操作系统上构建基本用户界面的步骤。鸿蒙系统是华为...

    华为鸿蒙HarmonyOS开发整理资料汇总.zip

    华为鸿蒙HarmonyOS开发整理资料汇总,共38份。 1学前必读:HarmonyOS学习资源主题分享 2学前必读:OpenHarmony-联盟生态资料合集 3-1.HarmonyOS概述:技术特性 3-2.HarmonyOS概述:开发工具与平台 3-3.HarmonyOS...

    鸿蒙HarmonyOS应用开发者认证 题库+答案案

    鸿蒙HarmonyOS应用开发者认证题库+答案案 本资源提供了鸿蒙HarmonyOS应用开发者认证的题库和答案,涵盖了HarmonyOS应用开发的多个方面,包括容器组件、 Ability、Web组件、网络请求、首选项、自定义组件、弹窗组件...

    鸿蒙HarmonyOS壁纸,万物皆鸿蒙(无水印版).rar

    鸿蒙HarmonyOS的壁纸设计往往融合了现代科技与艺术的元素,色彩鲜明,线条简洁,可能含有鸿蒙的LOGO或者象征性图案,如圆形、多边形等,这些图形往往代表着系统的核心理念——连接和融合。此外,高清的画质确保了在...

    HarmonyOS 鸿蒙工具箱.zip

    HarmonyOS,又称鸿蒙系统,是华为公司推出的一款面向全场景的分布式操作系统,旨在打破不同设备之间的界限,实现跨平台、跨设备的无缝协同。鸿蒙工具箱是华为为开发者提供的一个集成开发环境(IDE),它包含了一系列...

    华为鸿蒙HarmonyOS开发者资料大全.7z

    华为鸿蒙HarmonyOS开发者资料大全是一份专为想要学习和深入理解鸿蒙操作系统开发的初学者准备的综合资源包。这份7z压缩文件包含了丰富的教程、文档、示例代码和工具,旨在帮助开发者快速掌握鸿蒙系统的开发技能。...

    HarmonyOS鸿蒙快速入门应用开发基础+进阶视频.zip

    01.1 HarmonyOS示例应用介绍 01.2 编写一个HarmonyOS应用 01.3 应用编译_安装_运行 01.4 HarmonyOS应用系列课第1期答疑环节 02.1 HUAWEI_DevEco_简介 02.2 HarmonyOS_应用开发平台介绍 02.3 HarmonyOS设备开发平台...

Global site tag (gtag.js) - Google Analytics