鸿蒙Harmony实战:常用命令交互工具—“hvigorw”

news2025/2/6 9:06:16

 hvigor通过hvigorw工具,实现命令行交互。

命令行使用方式

hvigorw [taskNames...] <options>

常用命令

查询

选项

说明

-h, --help

打印hvigor的命令帮助信息。

-v, --version

打印hvigor版本信息。

编译构建

选项

说明

clean

清理构建产物build目录。

collectCoverage

基于打点数据生成覆盖率统计报表。

assembleHap

构建Hap应用。

assembleApp

构建App应用。

assembleHsp

构建Hsp包。

assembleHar

构建Har包。

编译构建命令行常用扩展参数:

选项

说明

-p buildMode={debug | release}

-p debuggable=true/false

采用debug/release模式进行编译构建。

缺省时:构建Hap/Hsp时为debug模式,构建App时为release模式。

-p product={ProductName}

指定product进行编译, 编译product下配置的module target。

缺省时:默认为default。

-p module={ModuleName}@{TargetName}

指定模块及target进行编译,可指定多个相同类型的模块进行编译以逗号分割;TargetName不指定时默认为default。

限制:此参数需要与--mode module参数搭配使用。

缺省时:执行AssembleHap任务会编译工程下所有模块,默认指定target为default。

-p ohos-test-coverage={true | false}

执行测试框架代码覆盖率插装编译。

-p coverage={true | false}

-p parameterFile=param.json/json5

设置oh-package.json5文件的参数配置文件,其中"param"可自行修改为对应配置文件名称。详细使用请参考parameterFile。

测试相关的命令行:

选项

说明

onDeviceTest -p module={moduleName} -p coverage={true} -p scope={testSuitClass#testCase}

说明

从hvigor 4.3.0版本开始支持。

通过命令行方式执行Instrument Test。

  • module:执行测试的模块。HAP/HAR/HSP模块都支持。
  • coverage:是否需要覆盖率报告,默认为true。
  • scope:执行单元测试Suite。

多个module和scope之间用逗号分割。

  • 覆盖率测试结果文件:

    <module-path>/.test/default/outputs/ohosTest/reports

  • 测试结果文件:path_to_project/module_name/.test/default/intermediates/ohosTest/coverage_data/test_result.txt

test -p module={moduleName} -p coverage={true} -p scope={testSuitClass#testCase}

通过命令行方式执行Local Test。

  • module:执行测试的模块。HAP/HAR/HSP模块都支持。
  • coverage:是否需要覆盖率报告,默认为true。
  • scope:执行单元测试Suite。

多个module和scope之间用逗号分割。

  • 覆盖率测试结果文件:

    <module-path>/.test/default/outputs/test/reports

  • 测试结果文件:path_to_project/module_name/.test/default/intermediates/test/coverage_data/test_result.txt

日志

选项

说明

-e, --error

设置hvigor的日志级别为error。

-w, --warn

设置hvigor的日志级别为warn。

-i, --info

设置hvigor的日志级别为info。

-d, --debug

设置hvigor的日志级别为debug。

--stacktrace,--no-stacktrace

hvigor默认使能关闭打印所有异常的堆栈信息,如需开启在命令行后添加该选项。

可视化

选项

说明

--analyze=normal

在DevEco Studio中开启Build Analyzer构建分析,设置为普通模式,通过简单打点数据进行分析。

--config properties.hvigor.analyzeHtml=true

在工程的.hvigor/report目录下生成构建可视化html文件,该文件可直接在浏览器中打开。

--analyze=false

不启用Build Analyzer构建分析。

--analyze=advanced

启用Build Analyzer构建分析,并设置为进阶模式,通过更加详细的打点数据进行分析。如果需要更详细的任务耗时数据,请选择该模式。

--analyze

同--analyze=normal命令。

从hvigor 4.3.0开始废弃,请使用--analyze=normal替换。

--no-analyze

同--analyze=false命令。

从hvigor 4.3.0开始废弃,请使用--analyze=false替换。

--verbose-analyze

同--analyze=advanced命令。

从hvigor 4.3.0开始废弃,请使用--analyze=advanced替换。

daemon

选项

说明

--daemon

使能daemon。

--no-daemon

hvigor默认使能daemon,如需关闭,可在命令行后添加该选项。

命令行模式下推荐使用此参数。

--stop-daemon

关闭当前工程的daemon进程。

--stop-daemon-all

关闭所有工程的daemon进程。

--status-daemon

查询当前环境中所有的hvigor daemon进程信息。

性能

选项

说明

--parallel, --no-parallel

hvigor默认使能并行编译能力,如需关闭在命令行后添加该选项。

--incremental, --no-incremental

hvigor默认使能增量编译能力,如需关闭在命令行后添加该选项。

公共命令

选项

说明

tasks

打印工程各模块包含的任务信息。

taskTree

打印工程各模块的任务依赖关系信息。

version

打印hvigor的相关版本信息。

prune

清除30天内未使用的hvigor缓存文件并从pnpm存储中删除未引用的包。

其他命令

选项

说明

-s,--sync

处理并持久化hvigor部分工程信息到工程./hvigor/outputs/sync/output.json中。

-m,--mode

在对应的目录执行相应的task,例hvigor clean -m project在工程目录下执行build目录清理(即清理工程级别的build文件夹)。

--enable-build-script-type-check

使能工程中hvigorfile.ts的类型检查,该字段已废弃,请使用--type-check替换。

--type-check, --no-type-check

hvigor默认使能关闭工程中hvigorfile.ts的类型检查,如需开启,可在命令行后添加该选项。

--no-pnpm-frozen-lockfile,--pnpm-frozen-lockfile

hvigor默认使能不忽略pnpm-lock.yaml文件,如需开启,可在命令行后添加该选项。

忽略pnpm-lock.yaml文件,按照hvigor-config.json5的配置安装hvigor插件的依赖(如果不忽略pnpm-lock.yaml文件,在使用hvigor 2.0.0及以上版本的CI场景下安装hvigor插件依赖时将报错)。

说明

该命令在4.1 Release及以上版本中已废弃。在CI场景中将自动配置,无需开发者手动配置。

--config, -c

指定hvigor-config.json5配置文件中的参数。

当前仅支持设置properties里的参数,具体支持的参数请查看hvigor-config.json5中properties支持的参数。

--config properties.key=value 同 -c properties.key=value

--watch

使能观察模式,主要用于预览和热加载场景。

--generate-build-profile, --no-generate-build-profile

已废弃。使能生成BuildProfile.ets文件。

--node-home <string>

指定nodejs路径。

最后

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,不同的角度的问了一些问题,我明显感觉到一点,那就是许多人参与鸿蒙开发,但是又不知道从哪里下手,因为资料太多,太杂,教授的人也多,无从选择。有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

为了确保高效学习,建议规划清晰的学习路线,涵盖以下关键阶段:

希望这一份鸿蒙学习资料能够给大家带来帮助~


 鸿蒙(HarmonyOS NEXT)最新学习路线

该路线图包含基础技能、就业必备技能、多媒体技术、六大电商APP、进阶高级技能、实战就业级设备开发,不仅补充了华为官网未涉及的解决方案

路线图适合人群:

IT开发人员:想要拓展职业边界
零基础小白:鸿蒙爱好者,希望从0到1学习,增加一项技能。
技术提升/进阶跳槽:发展瓶颈期,提升职场竞争力,快速掌握鸿蒙技术

2.视频学习资料+学习PDF文档

(鸿蒙语法ArkTS、TypeScript、ArkUI教程……)

 纯血版鸿蒙全套学习资料(面试、文档、全套视频等)

                   

鸿蒙APP开发必备

​​

总结

参与鸿蒙开发,你要先认清适合你的方向,如果是想从事鸿蒙应用开发方向的话,可以参考本文的学习路径,简单来说就是:为了确保高效学习,建议规划清晰的学习路线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2056501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

启动团队活力:5款互动游戏助力新人快速融入

在加入新团队时&#xff0c;很多人都会感到尴尬和不适应。作为团队的领导者&#xff0c;帮助新成员顺利融入团队是至关重要的。组织一场“破冰游戏”是一个有效的策略&#xff0c;不仅可以活跃团队气氛&#xff0c;还能促进成员之间的交流和理解。这时候&#xff0c;团队的领导…

ReFT: reasoning with reinforced Fine-Tuning

从一个question中看到多种多样的cot&#xff0c;都可以从中学习。 offline self-training 数据的质量是模型自己来定义的。 思考增加或者减少一条数据&#xff0c;对于模型训练的影响。 用influence function来衡量新增一条数据对于模型训练的整体的影响。 高质量的数据能够…

深度学习Day-30:CGAN入门丨生成手势图像丨可控制生成

&#x1f368; 本文为&#xff1a;[&#x1f517;365天深度学习训练营] 中的学习记录博客 &#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制] 要求&#xff1a; 结合代码进一步了解CGAN学习如何运用生成好的生成器生成指定图像 一、 基础配置 语言环境&#x…

功能测试与自动化测试详解

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 什么是自动化测试? 自动化测试是指利用软件测试工具自动实现全部或部分测试&#xff0c;它是软件测试的一个重要组成 部分&#xff0c;能完成许多手工测试无法实…

【C++】————智能指针

作者主页&#xff1a; 作者主页 本篇博客专栏&#xff1a;C 创作时间 &#xff1a;2024年8月20日 一&#xff0c;什么是智能指针 在C中没有垃圾回收机制&#xff0c;必须自己释放分配的内存&#xff0c;否则就会造成内存泄露。解决这个问题最有效的方法是使用智能指针&…

传染病防控宣传小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;防控知识管理&#xff0c;医院信息管理&#xff0c;健康上报管理&#xff0c;医疗捐赠管理&#xff0c;捐赠信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首…

力扣面试经典算法150题:买卖股票的最佳时机 II

买卖股票的最佳时机 II 今天的题目是力扣面试经典150题中的数组的中等难度题&#xff1a;买卖股票的最佳时机 II。 题目链接&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150 问…

EfficientFormer 系列算法

1. EfficientFormer V1 模型 论文地址&#xff1a;https://proceedings.neurips.cc/paper_files/paper/2022/file/5452ad8ee6ea6e7dc41db1cbd31ba0b8-Paper-Conference.pdf EfficientFormer V1 基于 ViT 的模型中使用的网络架构和具体的算子&#xff0c;找到端侧低效的原因。然…

深入剖析资产负债率与净资产收益率,掌握财务报表解读技巧

一、概述 财务报表中蕴含了丰富的信息&#xff0c;如果我们在解读时没有清晰的思路&#xff0c;忽略重点&#xff0c;就很容易被庞杂的数据搞得晕头转向。本文将从几个关键指标出发&#xff0c;包括资产负债率的分析、净资产收益率的解读&#xff0c;以及如何计算销售复合增长…

企业高性能web服务器——nginx

一、web基础介绍 Apache 和 Nginx 是当今为互联网提供动力的最流行的Web 服务器。 1.1、apache服务器 1.1.1、Apache prefork 模型 预派生模式&#xff0c;有一个主控制进程&#xff0c;然后生成多个子进程&#xff0c;使用select模型&#xff0c;最大并发1024每个子进程有一…

萌啦数据ozon怎么用,萌啦数据ozon使用教程

在跨境电商的浩瀚蓝海中&#xff0c;Ozon作为俄罗斯及独联体地区领先的电商平台&#xff0c;正吸引着越来越多中国卖家的目光。而“萌啦数据”作为专为跨境电商卖家打造的数据分析工具&#xff0c;其针对Ozon平台的功能更是让众多商家如虎添翼。今天&#xff0c;我们就来详细探…

后悔和父母出游的年轻人,正在计划带宠物旅行

文 | 螳螂观察 作者 | 青月 美编 |赵倩 相比于和父母一起出门远游&#xff0c;现在越来越多的95后“铲屎官”似乎更愿意和自家的宠物们组“旅游搭子”。 这听起来可能有些刺耳&#xff0c;但其实是当下很多年轻人的心声。 “带父母一起去北京玩&#xff0c;本来打算第二天…

【 每日一题 | 计算机网络】定长子网划分

重要知识点讲解 我们首先需要了解一下无分类CIDR的编址格式x.x.x/24&#xff0c;表示有24位的网路号&#xff0c;那么相应的主机号为32-248位子网掩码&#xff08;很重要&#xff09;&#xff0c;用来表示IP地址中标识网络号以及子网号的&#xff0c;也就是说如果要进行子网划…

鸿蒙内核源码分析(中断切换篇) | 系统因中断活力四射

关于中断部分系列篇将用三篇详细说明整个过程. 中断概念篇 中断概念很多&#xff0c;比如中断控制器&#xff0c;中断源&#xff0c;中断向量&#xff0c;中断共享&#xff0c;中断处理程序等等.本篇做一次整理.先了解透概念才好理解中断过程.用海公公打比方说明白中断各个概念…

Windows 环境下 Go 语言使用第三方压缩包 gozstd 的报错处理

该文章主要记录在windows平台用go语言使用gozstd包时&#xff0c;遇到的错误及处理过程&#xff08;踩坑之旅&#xff09;&#xff01; 一、gozstd简介 gozstd是一个针对Zstandard&#xff08;简称Zstd&#xff09;的Go语言包装器&#xff0c;它提供了简单且高效的API&#xf…

金山云Q2调整后EBITDA率提升至3.2% 高质量发展驱动经营质效双增

8月20日&#xff0c;金山云公布了2024年第二季度业绩。 季度内&#xff0c;金山云整体业绩延续向好态势&#xff0c;实现收入规模、盈利能力、经营现金流的联动共赢。财报显示&#xff0c;金山云Q2营收18.9亿元&#xff0c;公有云实现收入12.3亿元&#xff0c;行业云实现收入6…

The Sandbox 新提案: 2024 年亚洲和拉丁美洲区块链活动预算

理事会建议&#xff1a; 积极 &#x1f642; 内容 此提案请求为2024年第四季度&#xff0c;The Sandbox 在东南亚和拉丁美洲的主要区块链活动中的激活分配 94,500 美元的 SAND 倡议预算。&#xff08;具体活动列表见下方活动描述&#xff09; 原因 区域团队希望在这些现场活…

国际校企合作|深信服、常州信息职业技术学院、马来西亚汽车工业大学三方国际化人才培养合作签约仪式圆满成功

2024年8月19日&#xff0c;深信服科技股份有限公司与常州信息职业技术学院、马来西亚汽车工业大学正式签署了具有里程碑意义的国际校企合作协议。此次签约不仅是“教随产出、校企同行”理念的一次成功实践&#xff0c;更是中马两国友谊与合作的象征。 常州信息职业技术学院党委…

面试题目:(4)给表达式添加运算符

目录 题目 代码 思路解析 例子 题目 题目 给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target &#xff0c;在 num 的数字之间添加 二元 运算符&#xff08;不是一元&#xff09;、- 或 * &#xff0c;返回 所有能够得到 target 的表达式。1 < num.length &…

【JVM】深入理解类加载机制(一)

深入理解类加载机制 Klass模型 Java的每个类&#xff0c;在JVM中都有一个对应的Klass类实例与之对应&#xff0c;存储类的元信息如:常量池、属性信息、方法信息…从继承关系上也能看出来&#xff0c;类的元信息是存储在元空间的。普通的Java类在JVM中对应的是InstanceKlass(C)…