鸿蒙hdc使用指导

news2024/11/15 9:42:36

简介

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

环境准备

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

  • Windows环境变量设置方法:
    在此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量中,添加HDC端口变量名为:HDC_SERVER_PORT,变量值可设置为任意未被占用的端口,如7035。
    在这里插入图片描述
    环境变量配置完成后,关闭并重启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;
-n/-c手机/平板镜像为3.1及以上版本时,如果开发者需要操作(安装/卸载等)应用为API 8及以下版本,使用 -c;
-n/-c手机/平板镜像为3.1之前版本,如果开发者需要操作(安装/卸载等)应用为API 8及以下版本,使用 -c。
1.显示hdc相关的帮助信息,命令格式如下:
hdc -h
  • 返回值:
    返回hdc的帮助信息。

  • 使用方法:

hdc -h
2. 显示hdc的版本信息,命令格式如下:
hdc -v
  • 返回值:
    返回hdc的版本信息。

  • 使用方法:

hdc -v
3. 连接设备时,若仅有一台,无需指定设备标识。若有多台,一次仅能连接一台,每次连接时需要指定连接设备的标识,命令格式如下:
hdc -t [key] [command]
  • 参数
参数名说明
keyIP地址或USB序列号。
commandhdc支持的命令。
  • 返回值:
    若连接的设备不存在,返回 Invalid arguments ***。若附件的命令不存在,返回unknown command ***。

  • 使用方法:
    该方法需要与具体的操作命令搭配使用,下面以shell命令举例:

hdc list targets  (获取设备信息)
hdc -t [key] shell (-t后面添加的key需要替换为查询到的某一个设备信息)

说明
一台开发机可连接多个设备,每个设备有唯一的标识。如果通过网络连接设备,标识为IP地址,如果通过usb连接,标识为USB序列号。该命令需要跟随具体的操作命令。

查询相关命令行

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

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

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

  • 使用方法:

hdc list targets
hdc list targets -v
服务进程相关命令
命令说明
target mount读写模式挂载系统分区。
target boot重启目标设备,查看目标列表可用list targets命令。
smode [off]授予设备端hdc后台服务进程root权限, 使用off参数取消授权。
kill终止hdc服务进程。
  1. 以读写模式挂载系统分区,命令格式如下:
hdc target mount
  • 返回值
    挂载成功,返回remount succeeded。挂载失败,返回具体的失败信息。

  • 使用方法:

hdc target mount
  1. 授予设备端hdc后台服务进程root权限,命令格式如下:
hdc smode [off]
  • 使用方法:
hdc smode  
hdc smode off  // 取消root权限
  1. 终止hdc服务进程,命令格式如下:
hdc kill [-r]
  • 返回值
    服务进程终止成功,无返回值。服务进程终止失败,返回具体的失败信息。

  • 使用方法:

hdc kill
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
  • 参数
参数名说明
local本地待发送的文件路径。
remote远程待接收的文件路径。
  • 返回值
    文件发送成功,返回传输成功的结果信息。文件发送失败,返回传输失败的具体信息。

  • 使用方法:

hdc file send E:\example.txt /data/local/tmp/example.txt
  1. 从远端设备发送文件至本地,命令格式如下:
hdc file recv remote local

参数

参数名说明
local本地待接收的文件路径。
remote远程待发送的文件路径。
  • 返回值
    文件接收成功,返回传输成功的结果信息。文件接收失败,返回传输失败的具体信息。

  • 使用方法:

hdc file recv  /data/local/tmp/a.txt   ./a.txt

app相关命令

命令说明
install packageFile安装指定的应用package文件。
uninstall packageName卸载指定的应用包package包名。
  1. 安装HarmonyOS package,命令格式如下:
hdc install packageFile

参数

参数名说明
packageFileHarmonyOS应用安装包文件。
  • 返回值:
    packageFile安装成功,无返回值。packageFile安装失败,返回具体的失败信息。

  • 使用方法,以安装com.example.hello包为例:

hdc install E:\com.example.hello.hap
  1. 卸载HarmonyOS应用,命令格式如下:
hdc uninstall packageName
  • 参数:
参数名说明
packageName应用安装包包名。
  • 返回值:
    packageName卸载成功,无返回值。packageName卸载失败,返回具体的失败信息。

  • 使用方法,以卸载com.example.hello包为例:

hdc uninstall com.example.hello

调试相关命令

命令说明
shell [COMMAND]交互命令,COMMAND表示需要执行的单次命令。其中当OS镜像API≥9时,不支持交互式进入设备,仅支持交互式命令。
jpid显示可调试应用列表。
track-jpid动态显示可调试应用列表。
hilog [options]打印设备端的日志信息,options表示hilog支持的参数,可通过hdc hilog -h查阅支持的参数列表 。
  1. 抓取log信息,命令格式如下:
hdc hilog [options]
  • 返回值:
    返回抓取到的日志信息。

  • 使用方法:

hdc hilog 
  1. 交互命令,命令格式如下:
hdc shell [COMMAND]
  • 返回值:
    返回shell后面执行命令的结果信息。
  • 使用方法:
hdc shell ps -ef

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

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

相关文章

网络七层模型之传输层:理解网络通信的架构(四)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

好莱坞新风潮:OpenAI携手Sora AI视频生成工具探索电影制作新境界

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

后端常问面经之并发

volatile 关键字 volatile关键字是如何保证内存可见性的?底层是怎么实现的? "观察加入volatile关键字和没有加入volatile关键字时所生成的汇编代码发现,加入volatile关键字时,会多出一个lock前缀指令”lock前缀指令实际上相…

阿里云轻量应用服务器优惠价格2核4G和2核2G报价

阿里云轻量应用服务器2核2G和2核4G配置优惠价格表,轻量2核2G3M带宽61元一年,轻量2核4G4M带宽165元1年,均不限制月流量,阿里云活动链接 aliyunfuwuqi.com/go/aliyun 活动打开如下图: 阿里云轻量应用服务器价格 61元/年…

生物信息学 GO、KEGG

文章目录 北大基因本体论分子通路KEGGGO注释分子通路鉴定 关于同源 相似性 b站链接:北大课程 概述了当前生物信息学领域中几个重要的概念和工具,介绍基因本体论(Gene Ontology, GO)、分子通路知识库KEGG(Kyoto Encyclo…

测试环境搭建整套大数据系统(十二:挂载磁盘到hadoop环境)

一:链接硬盘 将硬盘连接到计算机的 SATA 接口或 USB 接口,并确保硬盘通电并处于可用状态。 二:查看硬盘信息 sudo fdisk -l三:创建分区 gdisk /dev/vbd重新扫描磁盘 partprobe /dev/vdb格式化磁盘 mkfs.ext4 /dev/vdb2查看磁…

Maven高级(工程分模块开发,聚合于继承,版本锁定,Mavne私服的搭建和发布)【详解】

目录 一、Maven复习 1. Maven基本概念 1 Maven的作用 2 Maven的仓库 3 坐标的概念 2. Maven安装配置 3. Maven构建项目 4. Maven依赖管理 5. Maven依赖传递 二、工程分模块开发 1. 分模块开发介绍 2. 工程分模块示例 (1) 创建父工程 (2) 创建pojo模块步骤 (3) 创…

小程序从入门到入坑:事件系统

前言 哈喽大家好,我是 SuperYing,本文是小程序从入门到入坑系列的第 3 篇,将比较详尽的讲解 小程序事件系统 的相关知识点,欢迎小伙伴阅读。 读完本文您将收获: 了解小程序事件及基础使用。了解小程序事件分类及多种的…

vscode添加gitee

1.创建仓库 2.Git 全局设置 3.初始化仓库 2.1 打开vscode打开需要上传到给git的代码文件 2.2.点击左边菜单第三个的源代码管理->初始化仓库 4.点击加号暂存所有更改 5.添加远程仓库 5.1 添加地址,回车 5.2 填写库名,回车 6.提交和推送 6.1 点击✔提交…

Istio 部署 Spring Coud 微服务应用

Istio 服务部署 这篇文章讲述如何将 Java Spring Cloud 微服务应用部署到 Istio mesh 中。 准备基础环境 使用 Kind 模拟 kubernetes 环境。文章参考:https://blog.csdn.net/qq_52397471/article/details/135715485 在 kubernetes cluster 中安装 Istio 创建一…

企业计算机服务器中了rmallox勒索病毒怎么办,rmallox勒索病毒解密工具流程

在网络计算机技术飞速发展的现在,越来越多的企业利用网络开展各项工作业务,网络为企业的生产运营提供了极大便利,但同时,网络也为企业的数据安全带来严重的威胁。近日,网络上的勒索病毒非常猖狂,时不时就会…

Node.js之沙盒专题

​ Node.js一直是薄弱项,今天特意整理一下,基本上是各个大佬写的大杂烩,仅用于学习记录~~~ 1. child_process 首先介绍一下nodejs中用来执行系统命令的模块child_process。Nodejs通过使用child_process模块来生成多个子进程来处理其他事物…

用BI来做金蝶的数据分析,真能随时自助分析?

BI数据分析快的事,大家都知道,那用BI来分析金蝶ERP上的数据也很快,也能随时想怎么分析就怎么分析,想分析哪些数据就分析哪些数据吗? 用BI分析金蝶数据,不仅可随时自助分析,还可极大提高分析效率…

极光笔记|极光消息推送服务的云原生实践

摘要 极光始终秉承“以开发者为中心”的战略导向,极光推送(JPush)是国内领先的消息推送服务。极光推送(JPush)本质上是一种软件付费应用程序,结合当前主流云厂商基础施设,逐渐演进成了云上SaaS…

【iOS ARKit】3D文字

首先,3D场景中渲染的任何虚拟元素都必须具有网格(顶点及顶点间的拓扑关系),没有网格的元素无法利用GPU 进行渲染,因此,在3D 场景申渲染 3D文字时,文字也必须具有网格。在计算机系统中&#xff0…

集合(JAVA)

一、数组和集合的区别 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的数组可以存基本数据类型和引用数据类型集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 二、集合类体系结构 三、Collection 集合 1.Collection集合…

【经验分享||快速解决】VScode+Python配置Selenium环境配置问题。ERROR: Cannot uninstall ‘certifi‘.

目录 正常安装遇到的问题 当在控制台输入pip install selenium时候,遇到的问题如下: 主要爆红的问题为 解决办法和正确安装方法 降低selenium的版本即可 在vscode控制台输入上面的代码即可。 总结 正常安装遇到的问题 当在控制台输入pip instal…

mac电脑下安装和启动nginx

一,安装homebrew 必须安装了homebrew,可在终端输入命令brew -v查看是否已经安装,没安装的话安装一下: 如果未安装先安装(网上很多文章) 二,查看nginx是否存在 使用命令:brew search nginx查看nginx是否存在: 不存在的话,就使用brew inst…

【STL】list类的讲解及模拟实现

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 今日主菜:vector类 主厨:邪王真眼 所属专栏:c专栏 主厨的主页:Chef‘s blog 总用光环在陨落,总有新星…

Conda 常用命令合集

Anaconda是一个开源的Python和R语言的分布式发行版,用于科学计算(数据科学、机器学习应用、大规模数据处理和预测分析)。Anaconda旨在提供一个简单的一站式解决方案来进行科学计算的需求。它包括了许多用于科学计算、数据分析的最流行的库和工…