鸿蒙 构建系统:构建任务(三)
在鸿蒙应用开发中了解构建任务有助于理解编译打包的完整流程。一、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 ArkTSArkTS编译相关任务说明CompileArkTS/BuildArkTS通过rollup调用loader编译ArkTS源码PreviewArkTS预览模式下编译ArkTS源码HotReloadArkTS热加载场景下编译ArkTS源码OhosTestCompileArkTS/OhosTestBuildArkTSohos测试场景下编译ArkTS源码HarCompileArkTS/HarBuildArkTS构建HAR包场景下编译ArkTS源码UnitTestArkTS单元测试场景下编译ArkTS源码6.3 JSJS编译相关任务说明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.infoMakeProjectPackInfo生成工程级别的pack.infoCreateBuildProfile生成hap/hsp的BuildProfile.ets文件CreateHarBuildProfile生成har的BuildProfile.ets文件6.9 Config配置相关任务说明ProcessProfile处理module.json5文件MergeProfile合并module.json5文件6.10 NativeNative编译相关任务说明BuildNativeWithNinja将native代码编译成so文件BuildNativeWithCmake用CMake编译CPP源码6.11 Help帮助相关任务说明tasks查看hvigor的全部任务及详情taskTree查看当前工程涉及的任务树6.12 Other其他任务任务说明ReplaceUnitTestIndexFile单元测试替换入口文件clean清理生成的Build目录collectCoverage基于仪表打点数据生成覆盖率统计报表任务执行流程依赖处理 → 资源编译(Resources) → ArkTS/JS编译 → 打包(Package) → 签名(Sign)

相关新闻

ARIA状态与属性实战教程:动态内容无障碍访问的完整解决方案

ARIA状态与属性实战教程:动态内容无障碍访问的完整解决方案

ARIA状态与属性实战教程:动态内容无障碍访问的完整解决方案 【免费下载链接】aria Accessible Rich Internet Applications (WAI-ARIA) 项目地址: https://gitcode.com/gh_mirrors/aria/aria ARIA(Accessible Rich Internet Applications&#xf…

2026/7/12 18:59:52 阅读更多 →
Seekr插件系统:如何扩展和定制你的OSINT工具集

Seekr插件系统:如何扩展和定制你的OSINT工具集

Seekr插件系统:如何扩展和定制你的OSINT工具集 【免费下载链接】seekr A multi-purpose OSINT toolkit with a neat web-interface. 项目地址: https://gitcode.com/gh_mirrors/se/seekr Seekr是一款多用途OSINT工具包,提供简洁的Web界面&#xf…

2026/7/12 18:55:52 阅读更多 →
知网AIGC检测算法到底查什么?3个核心维度拆解

知网AIGC检测算法到底查什么?3个核心维度拆解

不了解检测机制就谈「降AI率」,跟不看路就开车差不多。 前两篇我们讲了AIGC检测「是什么」和「多少分合格」。这一篇我们往深里走——把知网AIGC检测算法的底裤扒了。 放心,不讲数学公式,用人话讲清楚核心原理。 先建立一个核心认知 知网A…

2026/7/12 18:49:50 阅读更多 →

最新新闻

具身智能跨模态桥梁:TVA与VLA的互补与渗透(17)

具身智能跨模态桥梁:TVA与VLA的互补与渗透(17)

前沿技术探索:AI智能体视觉(TVA,Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术,是集深度强化学习(DRL)、卷积神经网络(CNN…

2026/7/12 19:56:05 阅读更多 →
NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-FP8:革命性3合1弹性大语言模型深度解析

NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-FP8:革命性3合1弹性大语言模型深度解析

NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-FP8:革命性3合1弹性大语言模型深度解析 【免费下载链接】NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-FP8 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-FP8 NVIDIA-N…

2026/7/12 19:54:05 阅读更多 →
ProceduralDungeon高级技巧:如何自定义房间约束与生成规则

ProceduralDungeon高级技巧:如何自定义房间约束与生成规则

ProceduralDungeon高级技巧:如何自定义房间约束与生成规则 【免费下载链接】ProceduralDungeon This is an Unreal Engine 4/5 plugin to generate procedural dungeon. 项目地址: https://gitcode.com/gh_mirrors/pr/ProceduralDungeon ProceduralDungeon是…

2026/7/12 19:54:05 阅读更多 →
p5.js-svg完全指南:如何用p5.js创建高质量矢量图形

p5.js-svg完全指南:如何用p5.js创建高质量矢量图形

p5.js-svg完全指南:如何用p5.js创建高质量矢量图形 【免费下载链接】p5.js-svg SVG runtime for p5.js. 项目地址: https://gitcode.com/gh_mirrors/p5/p5.js-svg 想要在网页上创建无限缩放不失真的矢量图形吗?🎨 p5.js-svg 正是你需要…

2026/7/12 19:52:04 阅读更多 →
打破语言壁垒:如何用XUnity.AutoTranslator让任何Unity游戏说你的语言

打破语言壁垒:如何用XUnity.AutoTranslator让任何Unity游戏说你的语言

打破语言壁垒:如何用XUnity.AutoTranslator让任何Unity游戏说你的语言 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 想象一下,你刚刚下载了一款期待已久的日本角色扮演游戏&…

2026/7/12 19:52:04 阅读更多 →
Git 2.43+ 配置 pull.rebase true:1条命令永久避免冗余 Merge 提交

Git 2.43+ 配置 pull.rebase true:1条命令永久避免冗余 Merge 提交

Git 2.43 配置 pull.rebase true:彻底告别冗余 Merge 提交的终极方案你是否曾在团队协作时,被 Git 历史记录中大量无意义的 "Merge branch master of..." 提交搞得头晕眼花?这些看似无害的合并提交不仅污染了项目历史,还…

2026/7/12 19:50:03 阅读更多 →

日新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/12 0:03:13 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/12 0:03:14 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/12 0:03:14 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/12 0:03:13 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/12 0:03:14 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/12 0:03:14 阅读更多 →

月新闻