HarmonyOS命令行工具

    作为一个从Android转过来的鸿蒙程序猿,在开发过程中不由自主地想使用类似adb命令的命令行工具去安装/卸载应用,往设备上推或者拉去文件,亦或是抓一些日志。但是发现在鸿蒙里边,华为把命令行工具分的很细,种类相当丰富

    这也不能一下全写了呀,就用到哪个写哪个吧,这篇文章会持续更新

1、鸿蒙命令行工具环境变量配置

    首先是去官网下载鸿蒙命令行工具下载中心 | 华为开发者联盟-HarmonyOS开发者官网,共建鸿蒙生态

这个压缩包非常之大,好几个G。包含了HarmonyOS应用开发所用到的所有工具,包括代码检查codelinter、三方库的包管理ohpm、命令行解析hstack、编译构建hvigorw。以及HarmonyOS SDK也已经嵌入命令行工具中,无需再额外下载配置了。

下载命令行工具之后需要配置一下环境变量,我以MacOS为例,windows和Linux大同小异,主要就是把工具的执行文件加入到系统Path即可。我的是zshell,打开.zshrc文件,输入以下内容,然后刷新

 # 鸿蒙sdk
export HARMONY_SDK_HOME=你的实际文件路径/command-line-tools-5.0.5.310
export PATH=$PATH:$HARMONY_SDK_HOME/bin

执行codelinter -v看看效果,出现截图效果表示配置成功

1、hdc命令

先从hdc命令开始操作吧,因为这个命令是后续很多其他命令所依赖的基础命令。首先还是环境变量问题,因为之前只配置了command-line-tools/bin这个路径到Path中,所以只有command-line-tools/bin目录下的命令行工具是有效的,我们需要把hdc加进去。

hdc在哪呢,hdc的目录隐藏的有点深,在command-line-tools/sdk/default/openharmony/toolchains目录下,接着刚才的配置文件再加一行

 # 鸿蒙sdk
export HARMONY_SDK_HOME=你的实际文件路径/command-line-tools-5.0.5.310
export PATH=$PATH:$HARMONY_SDK_HOME/bin
export PATH=$PATH:$HARMONY_SDK_HOME/sdk/default/openharmony/toolchains

执行hdc -v,可以看到效果

1.1查看设备列表

加-v的话是看详细信息,我的是模拟器

➜  ~ hdc list targets      
127.0.0.1:5555
➜  ~ hdc list targets -v
127.0.0.1:5555		TCP	Connected	localhost

1.2 安装/卸载应用

hdc install hap的路径
hdc uninstall hap的包名

1.3 推送和拉取文件

hdc file send test.txt /storage/media/100/local/files/Docs/test
FileTransfer finish, Size:18, File count = 1, time:13ms rate:1.38kB/s
hdc file recv /storage/media/100/local/files/Docs/Documents/欢迎使用华为文件管理.pdf abc.pdf
FileTransfer finish, Size:250037, File count = 1, time:36ms rate:6945.47kB/s

手上这会没真机,不知道真机的SD卡路径是怎么样的。模拟器的这个存储卡路径有点奇怪,点手机上“文件管理”这个app进去的目的对应的path是,/storage/media/100/local/files/Docs

用到其他工具继续补充,未完待续

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux Top 命令 load average 指标解读

前言 作为平台开发的同学,维护平台稳定性是我们最基本的工作职责,下面主要介绍下top 命令里 ,load average 这个指标如何去衡量机器负载程度。 概念介绍 load average 是系统在过去 1 分钟、5 分钟、15 分钟 的平均负载,它表示运…

Oracle 可观测最佳实践

简介 Oracle 数据库是一种广泛使用的商业关系数据库管理系统(RDBMS),由甲骨文公司(Oracle Corporation)开发。它支持 SQL 语言,能够存储和管理大量数据,并提供高级数据管理功能,如数…

imbinarize函数用法详解与示例

一、函数概述 众所周知,im2bw函数可以将灰度图像转换为二值图像。但MATLAB中还有一个imbinarize函数可以将灰度图像转换为二值图像。imbinarize函数是MATLAB图像处理工具箱中用于将灰度图像或体数据二值化的工具。它可以通过全局或自适应阈值方法将灰度图像转换为二…

《深入理解Mybatis原理》Mybatis中的缓存实现原理

一级缓存实现 什么是一级缓存? 为什么使用一级缓存? 每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话。 在对数据库的一次会话中,我们有可能会反复地执行完全相同的查询语句&…

网络安全面试题汇总(个人经验)

1.谈一下SQL主从备份原理? 答:主将数据变更写入自己的二进制log,从主动去主那里去拉二进制log并写入自己的二进制log,从而自己数据库依据二进制log内容做相应变更。主写从读 2.linux系统中的计划任务crontab配置文件中的五个星星分别代表什么&#xff…

gitlab runner正常连接 提示 作业挂起中,等待进入队列 解决办法

方案1 作业挂起中,等待进入队列 重启gitlab-runner gitlab-runner stop gitlab-runner start gitlab-runner run方案2 启动 gitlab-runner 服务 gitlab-runner start成功启动如下 [rootdocserver home]# gitlab-runner start Runtime platform …

Kibana:ES|QL 编辑器简介

作者:来自 Elastic drewdaemon ES|QL 很重要 💪 正如你可能已经听说的那样,ES|QL 是 Elastic 的新查询语言。我们对 ES|QL 寄予厚望。它已经很出色了,但随着时间的推移,它将成为与 Elasticsearch 中的数据交互的最强大…

EasyExcel - 行合并策略(二级列表)

😼前言:博主在工作中又遇到了新的excel导出挑战:需要导出多条文章及其下联合作者的信息,简单的来说是一个二级列表的数据结构。 🕵️‍♂️思路:excel导出实际上是一行一行的记录,再根据条件对其…

leetcode:205. 同构字符串(python3解法)

难度:简单 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字…

【Linux】sed编辑器二

一、处理多行命令 sed编辑器有3种可用于处理多行文本的特殊命令。 N:加入数据流中的下一行,创建一个多行组进行处理;D:删除多行组中的一行;P:打印多行组中的一行。 1、next命令:N 单行next命…

从AI生成内容到虚拟现实:娱乐体验的新边界

引言 在快速发展的科技时代,娱乐行业正经历一场前所未有的变革。传统的娱乐方式正与先进技术融合,创造出全新的沉浸式体验。从AI生成的个性化内容,到虚拟现实带来的身临其境的互动场景,科技不仅改变了我们消费娱乐的方式&#xf…

下载文件,浏览器阻止不安全下载

背景: 在项目开发中,遇到需要下载文件的情况,文件类型可能是图片、excell表、pdf、zip等文件类型,但浏览器会阻止不安全的下载链接。 效果展示: 下载文件的两种方式: 一、根据接口的相对url,拼…

springMVC---常用注解

目录 一、创建项目 1.依赖 2.web.xml 3.spring-mvc.xml 二、RequestParam注解 1.作用 2.属性 3.代码 DeptController类 启动tomcat 三、RequestBody注解 1.作用 2.属性 3.代码 (1)DeptController类 (2)index.jsp (3)启动tomcat 四、P…

记录一次微信小程序使用云能力开发的过程

对于开发微信小程序云开发不知从何起的同学们,可以当作一次参考。虽说官方有文档,有模板示例,但是这些都是片段或者完整的结果展示。对于初学或者开发经验较少的同学们,可能不知先从那里入手进行第一步的开发。下面解析下构建微信…

Agent一键安装,快速上手Zabbix监控!

目录 一、Linux操作系统部署Agent环境配置1、防火墙配置2、永久关闭selinux yum方式安装1、配置zabbix仓库2、安装agent3、配置 Zabbix-Agent 指向 Zabbix-Server4、启动agent服务 二进制包安装1、下载二进制包2、创建用户和目录及更改属主(组)3、解压二…

人工智能实验(五)-基于神经网络的模式识别实验

一、实验目的 理解BP神经网络的结构和原理,掌握反向传播算法对神经元的训练过程,了解反向传播公式。通过构建BP网络模式识别实例,熟悉BP网络的原理及结构 二、实验内容 基于提供的数据集,训练1个BP神经网络模型: 1. …

开发手札:.asmdef和RuntimeInitializeOnLoadMethod

最近为了快速响应临时小demo和老项目改造开发,思考了几种方式。 一般我们开发都是基于一套完善的unity框架进行的,完全建一个new project就是干,这样开发不仅慢而且乱。我们组框架代码都有现成的,而且组员都熟练使用了&…

九 RK3568 android11 MPU6500

一 MPU6500 内核驱动 1.1 查询设备连接地址 查看原理图, MPU6500 I2C 连接在 I2C4 上, 且中断没有使用 i2c 探测设备地址为 0x68 1.2 驱动源码 drivers/input/sensors/gyro/mpu6500_gyro.c drivers/input/sensors/accel/mpu6500_acc.c 默认 .config 配置编译了 mpu6550 …

Quinlan C4.5剪枝U(0,6)U(1,16)等置信上限如何计算?

之前看到Quinlan中关于C4.5决策树算法剪枝环节中,关于错误率e置信区间估计,为啥 当E=0时,U(0,1)=0.75,U(0,6)=0.206,U(0,9)=0.143? 而当E不为0时,比如U(1,16)=0.157,如图: 关于C4.5决策树,Quinlan写了一本书,如下: J. Ross Quinlan (Auth.) - C4.5. Programs f…

机器学习第一道菜(一):线性回归的理论模型

机器学习第一道菜(一):线性回归的理论模型 一、问题:千金买笑1.1 散点图1.2 机器学习能搞啥 二、模型的建立2.1 线性回归2.2 回归模型 前面讲了机器学习的“四大绝技”,今天,开始研究第一绝技“回归”&…