鸿蒙hdc使用指导

简介

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,使用时需替换为本地待发送和远端待接收的文件路径。

简单使用

以真机为例:真机用的hmscore文件夹下的3.1.0,如果是开发板则是OpenharmonySDK安装路径下的设备版本:9/10\toolchains\hdc.exe

查找HDC位置:打开Setting,SDK存放位置下找到\hmscore\3.1.0\toolchains
在这里插入图片描述
在这里插入图片描述
在当前目录打开CMD 命令窗:查看真机版本和类型:(如果是Windows PowerShell,则:.\hdc -v)

$>hdc -v
Ver: 1.2.0a
$>hdc list targets
54g5h4f54h44f54hrrty4        device
$>hdc -c shell
getprop hw_sc.build.os.apiversion
getprop hw_sc.build.os.releasetype
HWPCT:/ $ getprop hw_sc.build.os.apiversion
6
HWPCT:/ $ getprop hw_sc.build.os.releasetype
Release

开发指导

全局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

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

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

相关文章

蓝桥杯练习题总结(三)线性dp题(摆花、数字三角形加强版)

目录 一、摆花 思路一: 确定状态: 初始化: 思路二: 确定状态: 初始化: 循环遍历: 状态转移方程: 二、数字三角形加强版 一、摆花 题目描述 小明的花店新开张,为了吸…

VBA技术资料MF134:单值匹配查找

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

【消息队列开发】 实现 MqClientTests 类——测试客户端

文章目录 🍃前言🌳所需属性🌴BeforeEach🌲AfterEach🎍API测试⭕总结 🍃前言 本次开发任务 测试客户端接口 🌳所需属性 所需要一共三个属性 BrokerServer:服务器 ConnectionFa…

C++进阶之路---C++11新特性 | lambda表达式

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 前言:简介lambda 在C中,lambda表达式是一种匿名函数的方式,它可以用来解决以下问题&a…

免费|Python|【需求响应】一种新的需求响应机制DR-VCG研究

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序对应文章《Contract Design for Energy Demand Response》,电力系统需求响应(DR)用来调节用户对电能的需求,即在预测的需求高于电能供应时,希…

TTS 文本转语音模型综合简述

本文参考文献: [1] Kaur N, Singh P. Conventional and contemporary approaches used in text ot speech synthesis: A review[J]. Artificial Intelligence Review, 2023, 56(7): 5837-5880. [2] TTS | 一文了解语音合成经典论文/最新语音合成论文篇【20240111更新…

使用certbot为网站启用https

1. 安装certbot客户端 cd /usr/local/bin wget https://dl.eff.org/certbot-auto chmod ax ./certbot-auto 2. 创建目录和配置nginx用于验证域名 mkdir -p /data/www/letsencryptserver {listen 80;server_name ~^(?<subdomain>.).ninvfeng.com;location /.well-known…

大数据之scala

为什么学习scala spark是新一代内存级大数据计算框架&#xff0c;是大数据的重要内容 spark就是使用scala编写的&#xff0c;因此为了更好的学习spark&#xff0c;需要掌握scala这门语言 spark的兴起&#xff0c;带动scala语言的发展 scala发展历史 联邦理工学院的马丁 奥德…

spring boot3自定义注解+拦截器+Redis实现高并发接口限流

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途 目录 写在前面 内容简介 实现思路 实现步骤 1.自定义限流注解 2.编写限流拦截器 3.注册拦截器 4.接口限流测试 写在前…

http和https之间的区别和优势

HTTP&#xff08;超文本传输协议&#xff09;和HTTPS&#xff08;安全超文本传输协议&#xff09;是两种在互联网通信中应用广泛的协议&#xff0c;它们在数据传输、安全性、加密等方面有着明显的区别和优势。下面将详细介绍HTTP和HTTPS之间的区别和各自的优势。 区别和优势 1…

2024年腾讯云最新优惠活动整理汇总

随着云计算技术的不断发展&#xff0c;越来越多的企业和个人开始选择将业务迁移到云端。腾讯云作为国内领先的云计算服务提供商&#xff0c;不仅提供了稳定、安全的云服务&#xff0c;还通过一系列的优惠活动&#xff0c;为用户带来了实实在在的福利。2024年&#xff0c;腾讯云…

用Python机器学习模型预测世界杯结果靠谱吗?

看到kaggle、medium上有不少人用球队的历史数据来进行建模预测&#xff0c;比如用到泊松分布、决策树、逻辑回归等算法&#xff0c;很大程度上能反映强者恒强的现象&#xff0c;比如巴西、英格兰等大概率能进8强&#xff0c;就像高考模拟考试成绩越好&#xff0c;大概率高考也会…

美团0316春招笔试题

下面是美团2024-03-16笔试真题&#xff0c;进行了VP&#xff0c;由于未参与评测&#xff0c;故不保证正确性&#xff0c;仅供参考。 第一题 小美点外卖 求和然后减去满减和红包即可。 #include <bits/stdc.h> using namespace std; using LL long long ; int n, t, x,…

开源 | 电动自行车充换电解决方案,从智能硬件到软件系统,全部自主研发

文章目录 一、产品功能部分截图1.手机端&#xff08;小程序、安卓、ios&#xff09;2.PC端 二、小程序体验账号以及PC后台体验账号1.小程序体验账号2.PC后台体验账号关注公众号获取最新资讯 三、产品简介&#xff1f;1. 充电桩云平台&#xff08;含硬件充电桩&#xff09;&…

ffmpeg实现媒体流解码

ffmpeg Version : 5.14 本期主要讲解怎么将MP4媒体流的视频解码为yuv,音频解码为pcm数据;在此之前我们要先了解解复用和复用的概念; 解复用:像mp4是由音频和视频组成的(其他内容流除外);将MP4的流拆分成视频流(h264或h265等)和音频流(AAC或mp3等); 复用:就是将音频…

Mysql配置autocommit实际使用(慎用)

以下内容都是基于MySQL5.7。所有操作建议在MySQL客户端执行。navicat可能会先意想不到的问题 在导入频繁执行update、insert的时候&#xff0c;可以考虑关闭MySQL的自动提交 首先查询当前的状态 1开启 0关闭 select autocommit;设置本次连接关闭自动提交(如果需要永久关闭请修…

RowHammer 攻击:内存的隐形威胁

RowHammer 攻击是一种相对较新的攻击方式&#xff0c;它利用了现代动态随机存取存储器&#xff08;DRAM&#xff09;的物理缺陷&#xff0c;这种攻击方式不同于传统的软件漏洞利用&#xff0c;它直接针对硬件的弱点。这种攻击利用了 DRAM 在运行过程中产生的意外电荷泄漏效应&a…

IP组播基础

原理概述 IANA ( Internet Assigned Numbers Authority &#xff09;将 IP 地址分成了 A 、 B 、 C 、 D 、 E5类&#xff0c;其中的 D 类为组播 IP 地址&#xff0c;范围是224.0.0.0~239.255.255.255。 一个 IP 报文&#xff0c;其目的地址如果是单播 IP 地址&#xff…

电源66319D控制方法

实现自动化控制&#xff0c;电源为基础的模块&#xff0c;下面为大家讲解电源66319D的控制逻辑。 新建底层控制逻辑 在文件basis_contorl.py中写入仪器控制底层代码&#xff0c;代码如下&#xff1a; import tkinter.messagebox import pyvisaclass InstrumentControl(object…

罗永浩要在直播间卖阿里云服务器了

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 万万没想到&#xff0c;罗永浩要在直播间卖阿里云了。一个是科技圈的超级大V&#xff0c;一个是云计算行业的老大&#xff0c;看来这两位要合体了! 罗永浩要3月31日在淘宝直播间卖云产品&#xff0c;阿里云还特意为…