鸿蒙开发之hdc命令行

一、简介

hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与真实设备进行交互。

二、环境准备

hdc工具通过HarmonyOS SDK获取,存放于SDK的toolchains目录下,使用时将SDK的toolchains目录添加到环境变量。

Windows环境变量设置方法

此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量中,添加HDC端口变量名为:HDC_SERVER_PORT,变量值可设置为任意未被占用的端口,如7035。

image.png
环境变量配置完成后,关闭并重启DevEco Studio。

macOS环境变量设置方法:

打开终端工具,执行以下命令,根据输出结果分别执行不同命令。

echo $SHELL

如果输出结果为/bin/bash,则打开.bash_profile文件。如果输出结果为/bin/zsh,则打开.zshrc文件。然后在对应的文件中输入以下内容:

export PATH=$PATH:/Users/xxx/Library/Huawei/sdk/hmscore/3.1.0/toolchains
export HDC_SERVER_PORT=7035
export OHPM_HOME=/Users/xxx/Library/Huawei/ohpm
export PATH=${OHPM_HOME}/bin:${PATH}

环境变量配置完成后,关闭并重启DevEco Studio。

注意事项

  • 使用hdc,如果出现异常,可以尝试通过hdc kill -r命令杀掉并重启hdc服务。
  • 如果出现hdc list targets获取不到设备信息的情况,可以通过任务管理器查看是否有hdc进程存在。若进程存在,则通过hdc kill -r命令杀掉该进程。

说明

  • 命令行中被[]修饰的参数表示可选参数。
  • 命令行中的参数若是斜体,表示在使用时该参数需替换为具体的信息,例如:file send local remote命令中的local和remote,使用时需替换为本地待发送和远端待接收的文件路径。

三、开发指导

全局option

Option说明
-t [key] [command]指定连接唯一标识的目标设备。
-h打印hdc帮助信息。
-v打印hdc版本信息。
-n/-c- 手机/平板镜像为3.1及以上版本时,如果开发者需要操作(安装/卸载等)API 9的应用,使用 -n或不带 -n;
  • 手机/平板镜像为3.1及以上版本时,如果开发者需要操作(安装/卸载等)应用为API 8及以下版本,使用 -c;

  • 手机/平板镜像为3.1之前版本,如果开发者需要操作(安装/卸载等)应用为API 8及以下版本,使用 -c。 |

  • hdc -h:用于显示hdc相关的帮助信息。

  • hdc -v:用于显示hdc的版本信息。

  • hdc -t [key] [command]:连接设备时,若仅有一台,无需指定设备标识。若有多台,一次仅能连接一台,每次连接时需要指定连接设备的标识。

参数说明:

参数说明
keyIP地址或USB序列号。
commandhdc支持的命令。

查询相关命令行

命令说明
help打印hdc帮助信息。
version打印hdc版本信息。
list targets [-v]查询已连接的所有目标设备,添加-v选项,则会打印设备详细信息。

显示所有已经连接的设备列表,命令格式如下:

hdc list targets[-v]

返回值若没有查询到设备信息,返回[Empty]。若查询到已经连接的的设备,返回设备列表。

服务进程相关命令

命令说明
target mount读写模式挂载系统分区。
target boot重启目标设备,查看目标列表可用list targets命令。
smode [off]授予设备端hdc后台服务进程root权限, 使用off参数取消授权。
kill终止hdc服务进程。

1,读写模式挂载系统分区,命令格式如下:

hdc target mount

挂载成功,返回remount succeeded。挂载失败,返回具体的失败信息。

2,授予设备端hdc后台服务进程root权限,命令格式如下:

hdc smode [off]

3,终止hdc服务进程,命令格式如下:

hdc kill [-r]

服务进程终止成功,无返回值;服务进程终止失败,返回具体的失败信息。

网络相关命令

命令说明
fport ls展示全部“端口转发主机端口转发数据到设备侧端口”的转发任务。
fport local remote端口转发主机端口转发数据到设备侧端口。
fport rm local remote删除指定“端口转发主机端口转发数据到设备侧端口”的转发任务。
rport ls展示全部“端口转发设备侧端口转发数据到主机端口”的转发任务
rport local remote端口转发设备侧端口转发数据到主机端口
rport rm local remote删除指定“端口转发设备侧端口转发数据到主机端口”的转发任务

文件相关命令

命令说明
file send local remote从本地发送文件至远端设备。
file recv remote local从远端设备发送文件至本地。

1,从本地发送文件至远端设备,命令格式如下

hdc file send local remote

文件发送成功,返回传输成功的结果信息;文件发送失败,返回传输失败的具体信息。

2,从远端设备发送文件至本地,命令格式如下:

hdc file recv remote local

文件接收成功,返回传输成功的结果信息。文件接收失败,返回传输失败的具体信息。

app相关命令

命令说明
install packageFile安装指定的应用package文件。
uninstall packageName卸载指定的应用包package包名。

1,安装HarmonyOS package,命令格式如下:

hdc install packageFile

packageFile安装成功,无返回值;packageFile安装失败,返回具体的失败信息。

2,卸载HarmonyOS应用,命令格式如下:

hdc uninstall packageName

packageName卸载成功,无返回值;packageName卸载失败,返回具体的失败信息。

调试相关命令

命令说明
shell [COMMAND]交互命令,COMMAND表示需要执行的单次命令。不同类型或版本的系统支持的COMMAND命令有所差异,可以通过hdc shell ls /system/bin查阅支持的命令列表。
jpid显示可调试应用列表。
track-jpid动态显示可调试应用列表。
hilog [options]打印设备端的日志信息,options表示hilog支持的参数,可通过hdc hilog -h查阅支持的参数列表 。

1,抓取log信息,命令格式如下:

hdc hilog [options]

此命令会返回抓取到的日志信息。

2,交互命令,命令格式如下:

hdc shell [COMMAND]

此命令会返回shell后面执行命令的结果信息。

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

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

相关文章

自然语言处理阅读第三弹

LLM微调 三种方法 Prefix-Tuning/Prompt-Tuning:在模型的输入或隐层添加k个额外可训练的前缀tokens(这些前缀是连续的伪tokens,不对应真实的tokens),只训练这些前缀参数; Prefix-tuning: 对于每个任务,都有一个特定的前缀被添加到输入序列的开始部分。这些前缀相当于任务特…

JavaScript高级 函数进阶篇

函数进阶 1、函数的定义和调用 函数声明方式function关键字(命名函数);函数表达式(匿名函数);new Function()(此处的Function()是一个构造函数);var fn new Function(参…

六个探索性数据分析(EDA)工具,太实用了!

当进行数据分析时,探索性数据分析(EDA)是一个至关重要的阶段,它能帮助我们从数据中发现模式、趋势和异常现象。而选择合适的EDA工具又能够极大地提高工作效率和分析深度。在本文中,笔者将介绍6个极其实用的探索性数据分析(EDA)工具&#xff0…

和宝贝一起迎接冬日里的浪漫~优雅有气质

闪闪发光的刺绣亮片面料 自带闪光,是低调而浪漫的存在 蓬松拼接多层网纱 自带裙撑效果的网纱裙摆唯美飘逸 仿佛冬日里的小公主 热烈轻快的奔向即将到来的节日庆典

Go和Java实现简单工厂模式

Go和Java实现简单工厂模式 本文通过计算器案例来说明简单工厂模式的使用,使用Go语言和Java语言实现。 1、简单工厂模式 简单工厂模式对对象创建管理方式最为简单,只需要创建一个简单的工厂类然后在里面创建对象,该模式通过向工 厂传递类型…

自媒体人福音,正版实用的视频素材网站~

大家平时在创作视频的时候,有没有苦恼过找不到合适的素材呢?网上能找到的大部分素材都是有版权的,不能随便乱用。今天我就来给大家推荐一些用于视频创作的正版素材网站,快快收藏吧! 1.制片帮素材 链接:stock.zhipianb…

【洛谷】分糖果

分糖果 题目链接 题意 输出你最多能获得多少作为你搬糖果的奖励的糖果数量 思路 我们知道如果糖果总数除以小朋友的数量取商为一的话,那么每个小朋友只能得到一颗糖,那么它的余数就是剩下的糖果,也就是你能获得的奖励。弄清楚n,…

Python实现广义最小二乘法线性回归模型(GLS算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 广义最小二乘法(Generalized Least Squares)是一种回归分析方法,适…

你知道海外云手机可以用于外贸测评吗?

目前随着外贸行业的发展,像亚马逊、速卖通、eBay等海外电商平台越来越火热。在这些平台,过硬的产品质量、优秀的服务、合适的价格,再加上适量的跨境电商测评,很容易就能吸引不少的客户。那么如何利用海外云手机进行外贸测评&#…

Python爬取电影天堂

前言: 本文非常浅显易懂,可以说是零基础也可快速掌握。如有疑问,欢迎留言,笔者会第一时间回复。 一、爬虫的重要性: 如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛通过网页的…

C语言中的#pragma预处理指令

C语言中的#pragma预处理指令 C语言中的#pragma预处理指令 C语言中的#pragma预处理指令一. pragma预处理指令概念二. pragma预处理指令的作用三. 预处理指令的参数1)message参数2)code_seg参数3)once参数4)pack参数5) s…

司铭宇老师《营销总监培训课程》内容

在今天这个竞争激烈的商业环境中,作为一家公司的营销总监,你是否感到压力重重?你是否在寻找一种方式来提升你的销售业绩,激发你的团队潜力,并在市场中占据优势?如果你的答案是肯定的,营销总监作…

2. 行为模式 - 命令模式

亦称: 动作、事务、Action、Transaction、Command 意图 命令模式是一种行为设计模式, 它可将请求转换为一个包含与请求相关的所有信息的独立对象。 该转换让你能根据不同的请求将方法参数化、 延迟请求执行或将其放入队列中, 且能实现可撤销…

C++之深拷贝进阶

目录 拷贝构造函数的深拷贝进阶版本 赋值运算符重载的深拷贝进阶 总结 上期我们学习了C中深拷贝的传统版本,今天我们将学习更为高效的版本。 拷贝构造函数的深拷贝进阶版本 传统版本代码如下: string(string& s):_str(new char[strlen(s._str)…

前端视角看待在百模大战中AI行业发展有何新趋势?

在百模大战中AI行业发展有何新现象? 前端开发者视角下的AI趋势 随着人工智能(AI)在各行各业的应用,AI技术的发展日新月异。在这个过程中,百模大战成为了AI行业的一个重要现象。 百模大战是指多个模型在各种任务中的…

Docker——微服务的部署

Docker——微服务的部署 文章目录 Docker——微服务的部署初识DockerDocker与虚拟机Docker架构安装DockerCentOS安装Docker卸载(可选)安装docker启动docker配置镜像加速 Docker的基本操作Docker的基本操作——镜像Docker基本操作——容器Docker基本操作—…

前端案例—antd的表单项默认值提交时没有生效

前端案例—antd的表单项默认值提交时没有生效 <Form onFinish{handleCommit} initialValues{{"ruleApplyDate":{"type":0}}} ><Form.Item{...formItemLayout}label"规则应用时间"name"ruleApplyDate"requiredstyle{{ margin:…

进入不了Bios?进入Bios的方法都在这了,肯定能进!

前言 有些小伙伴可能在重装系统的第一步就卡住了&#xff0c;接着就放弃了。哇哈哈哈啊&#xff0c;先让小白笑会&#xff5e; 根据小白十二年的装机经验&#xff0c;不同主板进入Bios的时候有不同的姿势。也许要蹲着大喊Bios才能进入呢&#xff1f;要不试试&#xff1f; 好了…

自动化框架如何搭建?让10年阿里自动化测试老司机帮你搞定!自动化测试脚本怎么写?

一、何为框架&#xff1f;何为自动化测试框架&#xff1f; 无论是日常技术交流&#xff0c;还是在自动化测试实践中&#xff0c;经常会听到一个词叫&#xff1a;框架。之前对“框架”这个词知其然不知其所以然。现在看过一些资料以及加上我自己的一些实践有了我自己的一些看法…

测试开发体系介绍——测试体系介绍-L1

目录&#xff1a; 软件测试基础概念 软件测试:软件测试作用:软件缺陷:软件测试原则:软件测试对象:测试用例软件开发流程 软件:软件生命周期:软件开发流程:瀑布模型:瀑布模型优缺点敏捷开发模型: XP - 极限编程:SCRUM:DevOps&#xff1a;DevOps 生命周期&#xff1a;DevOps 对发…