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

推荐订阅源

有赞技术团队
有赞技术团队
G
Google Developers Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
P
Proofpoint News Feed
V
Visual Studio Blog
爱范儿
爱范儿
The Cloudflare Blog
博客园 - 叶小钗
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
H
Help Net Security
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
量子位
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

人人都是产品经理

为什么你的产品找不到差异化?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还有一些常见的命令,大家直接看官网介绍即可,不在多赘述。

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