鸿蒙开发:hvigorw,编译构建,实现命令打包

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

前言


本文基于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还有一些常见的命令,大家直接看官网介绍即可,不在多赘述。


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


本文标签:鸿蒙开发工具/DevEco Studio


相关文章
|
29天前
|
开发者
鸿蒙开发:资讯项目实战之项目初始化搭建
目前来说,我们的资讯项目只是往前迈了很小的一步,仅仅实现了项目创建,步虽小,但概念性的知识很多,这也是这个项目的初衷,让大家不仅仅可以掌握日常的技术开发,也能让大家理解实际的项目开发知识。
鸿蒙开发:资讯项目实战之项目初始化搭建
|
23天前
|
缓存 JavaScript IDE
鸿蒙开发:基于最新API,如何实现组件化运行
手动只是让大家了解切换的原理,在实际开发中,可不推荐手动,下篇文章,我们将通过脚本或者插件,快速实现组件化模块之间的切换,实现独立运行,敬请期待!
鸿蒙开发:基于最新API,如何实现组件化运行
|
1月前
|
SQL 弹性计算 数据库
鸿蒙5开发宝藏案例分享---优化应用时延问题
鸿蒙性能优化指南来了!从UI渲染到数据库操作,6大实战案例助你提升应用流畅度。布局层级优化、数据加载并发、数据库查询提速、相机资源延迟释放、手势识别灵敏调整及转场动画精调,全面覆盖性能痛点。附赠性能自检清单,帮助开发者高效定位问题,让应用运行如飞!来自华为官方文档的精华内容,建议收藏并反复研读,共同探讨更多优化技巧。
|
1月前
|
缓存
鸿蒙5开发宝藏案例分享---Swiper组件性能优化实战
本文分享了鸿蒙系统中Swiper组件的性能优化技巧,包括:1) 使用`LazyForEach`替代`ForEach`实现懒加载,显著降低内存占用;2) 通过`cachedCount`精准控制缓存数量,平衡流畅度与内存消耗;3) 利用`onAnimationStart`在抛滑时提前加载资源,提升构建效率;4) 添加`@Reusable`装饰器复用组件实例,减少创建开销。实际应用后,图库页帧率从45fps提升至58fps,效果显著。适合处理复杂列表或轮播场景,欢迎交流经验!
|
1月前
|
存储 C++ UED
鸿蒙5开发宝藏案例分享---优化应用包体积大小问题
本文分享了鸿蒙应用包体积优化的实用技巧,包括SO库压缩、HSP动态共享包、OHPM依赖冲突解决、按需加载和扫描工具定位优化点等方法。通过具体配置示例和实战经验,如启用`compressNativeLibs`、使用共享资源包、强制统一依赖版本以及动态导入功能模块,帮助开发者显著减少包体积,提升用户体验。文中还提供了图标优化、资源混淆和无用代码剔除等补充建议,助力打造更轻量的鸿蒙应用。
|
1月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
1月前
|
数据库
鸿蒙5开发宝藏案例分享---跨线程性能优化指南
本文深入探讨鸿蒙系统跨线程序列化性能优化,借助DevEco Profiler工具定位序列化瓶颈。通过Sendable接口改造、数据瘦身等方法,将5万本书对象的序列化耗时从260ms+降至<8ms,甚至<1ms。总结避坑经验,建议常态化使用Profiler检测,避免传递大对象,提升多线程开发效率。
|
缓存 数据管理 Shell
鸿蒙5开发宝藏案例分享---性能分析简介
鸿蒙开发资源大揭秘!文中整理了HarmonyOS官方提供的100+场景化案例,涵盖性能优化、UI设计、设备适配等全链路内容。重点解析三大神级案例:折叠屏悬停交互、万人列表流畅滚动和服务卡片实时刷新,附带完整代码与避坑指南。通过精准搜索、代码移植和调试技巧,高效利用这些宝藏资源,助你省时省力避开开发陷阱。更有抖音级短视频流畅度优化方案等彩蛋等待探索!
|
1月前
|
Java
鸿蒙5开发宝藏案例分享---性能检测工具揭秘
鸿蒙性能优化工具全揭秘!本文详解官方隐藏的性能调优利器,包括静态检测(Code Linter)与动态检测(AppAnalyzer)。通过实战案例解析稀疏数组陷阱、循环更新状态变量等问题,并提供优化方案。同时附带高频性能规则速查表及黄金法则,助你高效避坑。开发时建议双开工具,实时检测问题,提升应用性能。
|
缓存 Shell 开发者
鸿蒙5开发宝藏案例分享---性能体验设计
这是一篇关于HarmonyOS性能优化的开发者实践指南。文章结合官方文档案例与代码实现,分享了流畅性设计的实用技巧,包括感知流畅性的核心原则、交互流畅实战案例(如列表滑动优化和点击响应加速)、视觉流畅的动效设计,以及性能检测工具ArkUI Inspector的使用方法。最后还提供了冷启动优化的具体策略。通过这些内容,帮助开发者打造60帧无卡顿的鸿蒙应用,实现操作响应快速、动效流畅的目标。