惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
MyScale Blog
MyScale Blog
爱范儿
爱范儿
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Y
Y Combinator Blog
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
M
MIT News - Artificial intelligence
博客园 - Franky
V
Visual Studio Blog
I
InfoQ
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
博客园 - 司徒正美
L
LangChain Blog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
鸿蒙开发:hvigorw,编译构建,实现命令打包
程序员一鸣 · 2026-06-15 · via 人人都是产品经理

前言

本文基于DevEco Studio 5.0.5 Release

上篇文章,我们简单的了解了hvigorw,知道了hvigorw是鸿蒙开发中一个不可缺少的构建利器,除了正常的帮我们执行一些流程化操作之外,hvigorw还担负着一个非常重要的角色,那就是搭建流水线时的编译各个hap、hsp、har以及app的重任,少了它,那么流水线就无法正常运行。

什么是流水线?正常情况下,我们构建一个应用或者元服务,都是通过DevEco Studio开发工具进行操作,常见的就是通过顶部导航栏中Build选项,打出我们最终的上架包,或者hap、har、hsp包。

流水线,就是可以让我们使用命令行工具来调用Hvigor任务进行构建,通过命令行的方式构建应用或元服务,这样做的好处就是,不用再依赖DevEco Studio开发工具,便于我们构筑CI(Continuous Integration)流水线,按照自己的计划时间,自动化的构建HAP/APP、签名、安装运行等操作。

一句话简明扼要,就是可以不用人工再去打包了,可以使用工具进行自动化签名打包。

而且,有了hvigorw,我们可以自建自己的应用下载平台,可以和蒲公英等三方平台一样,进而和Android类似,直接打包给到测试同学,再也不用在测试阶段提交到华为应用市场了。就凭这一点,hvigorw,对于我们而言,就不得不去重视,毕竟华为应用市场有一个审核机制,提交的测试包,因为审核时间,交到测试人员手里,往往没有那么及时,有一个时间差存在,就导致了功能迟迟无法验证,浪费了很多的时间。

如何搭建自己的应用测试平台,后续会给大家一一讲解,这都是后话了,本篇文章,我们还是继续了解hvigorw,重点知晓它的几个命令,方便后续的流水线搭建。

hvigorw常见命令

hvigorw在执行相关命令的时候,需要注意,那就是需要结合品类来去执行,否则会执行失败,那么什么是品类呢?

在根项目中的build-profile.json5文件下的products字段就是品类信息。

clean

clean命令主要是负责清理构建产物build目录,在日后的自动化打包中,我们第一个命令就是执行的它。

执行命令如下:

如果你采用的是DevEco Studio开发工具自带的,那么命令如下:

node + hvigorw.js路径 + -p product=品类名字 clear

首先,node如果你配置了环境变量,就可以这么用,没有,还请补全路径,比如。

如果你采用的是Command Line Tools,并且配置了环境变量,可以直接省去node。

hvigorw + -p product=品类名字 clear

举例如下,这样就完成了clean命令执行。

assembleHar

assembleHar命令主要是构建一个Har包,执行这个命令的时候,你需要指定要构建哪个模块,执行格式如下:

命令操作

DevEco Studio开发工具中:

node + hvigorw.js + --mode module -p product=品类信息 -p module=模块 assembleHar

Command Line Tools

hvigorw + --mode module -p product=品类信息 -p module=模块名 assembleHar

举例如下,这样就完成了Har包生成。

同样的,在针对模块时,无论是静态共享包还是动态共享包,也需要携带上品类信息,也就是模块名@品类信息。

开启Build Analyzer构建分析

如果说你要在构建包的时候,要对静态包进行开启Build Analyzer构建分析,那么我们追加命令,通过–analyze=normal,来实现简单打点数据进行分析。

执行命令如下,在后面追加即可:

在Build中,你就可以进行数据分析了:

执行完命令后,最终会在静态共享包中,生成一个har包,目录如下:

assembleHsp

assembleHsp命令主要是构建一个Hsp包,和静态包一致,无非就是把assembleHar换成assembleHsp,还有就是模块名和品类信息需要切换。

执行完命令后,最终会在动态共享包中,生成一个hsp包,目录如下:

assembleHap

hap类型一般是我们的主模块,也就是type为entry类型的模块,执行assembleHap的命令和上面一致,也是更改为assembleHap即可,但是模块名和品类信息需要切换。

执行完命令后,最终会在主模块中,生成一个hap包,目录如下:

assembleApp

assembleApp和上面的命令有一点区别,上面的命令只是单独生成某一种类型的包,但并不最终的上架包,而最终的上架包都是以.app结尾的;执行assembleApp命令,不用在指定模块,只指定品类信息即可。

执行完之后,就会在项目下产生一个build目录,里面的.app就是我们最终的上架或者测试包。

相关总结

以上呢,就是hvigorw几个常见的命令,主要用于构建不同类型的包,也是接下来流水线打包,几个比较常用的命令,所以拿来重点概述了,当然了hvigorw还有一些常见的命令,大家直接看官网介绍即可,不在多赘述。

有一点需要注意,所谓的品类信息中,有定义的签名信息,这一点不可忽视。