ToB企服应用市场:ToB评测及商务社交产业平台

标题: 鸿蒙HarmonyOS实战开辟:调试的下令行工具-hdc [打印本页]

作者: 梦见你的名字    时间: 2024-12-15 15:51
标题: 鸿蒙HarmonyOS实战开辟:调试的下令行工具-hdc
 鸿蒙NEXT开辟实战往期必看文章:
一分钟相识”纯血版!鸿蒙HarmonyOS Next应用开辟!
“非常具体的” 鸿蒙HarmonyOS Next应用开辟学习路线!(从零根本入门到精通)
HarmonyOS NEXT应用开辟案例实践总联合(一连更新......)
HarmonyOS NEXT应用开辟性能优化实践总结(一连更新......)

hdc(HarmonyOS Device Connector)是为开辟人员提供的用于调试的下令行工具,通过该工具可以在windows/linux/mac系统上与设备举行交互。
环境准备

hdc工具通过HarmonyOS SDK获取,存放于SDK的toolchains目次下,首次使用按照如下提示配置环境变量。
配置环境变量HDC_SERVER_PORT

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


环境变量配置完成后,关闭并重启DevEco Studio。
macOS环境变量设置方法
(可选)配置全局环境变量

说明
如未配置全局环境变量,开辟者可通过下令行进入SDK的toolchains目次,在目次中执行hdc相关下令举行调试。
Windows环境变量设置方法
此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量 > 系统变量中,将SDK的toolchains完备路径添加到Path变量值中,具体路径信息以SDK实际配置路径为准。
以下图示内容以本地SDK的toolchains完备路径$DevEco Studio安装目次/sdk/default/openharmony/toolchains为例:




Linux/macOS环境变量设置方法
全局option相关下令

Option说明-h/help打印hdc帮助信息-v/version打印hdc版本信息-t [connect-key] [command]毗连指定的目标设备,connect-key可通过hdc list targets查询-l [level]指定运行时日记品级,默以为LOG_INFOwait等待设备正常毗连,用于检测设备是否毗连并准备好接收指令checkserver获取client-server版本 说明
connect-key为每个设备唯一的标识符。如果通过usb毗连,标识符为序列号;如果通过网络毗连设备,标识符为“IP地点:端标语”;
返回值:
返回值说明下令执行返回内容请参考对应下令的返回值[Fail]Not match target founded, check connect-key please没有找到与connect-key匹配的设备[Fail]Device not founded or connected设备未找到或尚未毗连[Fail]ExecuteCommand need connect-key? please confirm a device by help info多设备毗连时需要指定一个设备Unknown operation command...不支持的下令 使用方法
该方法需要与具体的操作下令搭配使用,下面以shell下令举例:
  1. hdc list targets // 查询已连接的所有目标设备的connect-key
  2. hdc -t [connect-key] shell // -t后面添加的connect-key需要替换为指定的设备标识符
复制代码
查询设备列表相关下令

下令说明list targets [-v]查询已毗连的所有目标设备,添加-v选项,则会打印设备具体信息 显示所有已毗连的设备列表,下令格式如下:
  1. hdc list targets[-v]
复制代码
返回值:
返回值说明设备信息已毗连的设备列表信息[Empty]没有查询到设备信息 使用方法:
  1. hdc list targets
  2. hdc list targets -v
复制代码
服务历程相关下令

下令说明target mount以读写模式挂载系统分区(user不可用)target boot [-bootloader|-recovery]重启目标设备,使用-bootloader参数重启后进入fastboot模式,使用-recovery参数重启后进入recovery模式target boot [MODE]重启目标设备,加参数重启后进入相应的模式,其中MODE为/bin/begetctl下令中reboot支持的参数smode [-r]授予设备端hdc后台服务历程root权限, 使用-r参数取消授权(user不可用)kill [-r]终止hdc服务历程,使用-r参数触发服务历程重新启动start [-r]启动hdc服务历程,使用-r参数触发服务历程重新启动 网络相关下令

下令说明fport ls列出全部转发端口转发任务fport localnode remotenode设置正向端口转发任务:监听“主机端口”,接收哀求并举行转发, 转发到“设备端口”rport remotenode localnode设置反向端口转发任务:监听“设备端口”,接收哀求并举行转发,转发到“主机端口”fport rm taskstr删除指定的端口转发任务tmode usb该下令不会实际操作设备毗连通道,需要在设备设置界面通过USB调试开关举行设置tmode port [port-number]打开设备网络毗连通道:设备端daemon历程会重启,已建立的USB毗连会中断,需要重新毗连tmode port close关闭设备无线毗连通道:设备端daemon历程会重启,已建立的USB毗连会中断,需要重新毗连tconn [IP]:[port] [-remove]指定毗连设备:通过“IP地点:端标语”来指定毗连的设备,使用-remove参数断开毗连 文件相关下令

下令说明file send localpath remotepath从本地发送文件至远端设备file recv remotepath localpath从远端设备发送文件至本地 应用相关下令

下令说明install src安装指定的应用文件uninstall packageName卸载指定的应用包package包名 调试相关下令

下令说明jpid显示设备上所有开启了JDWP调试协议的应用的PIDtrack-jpid [-a|-p]实时显示设备上开启了JDWP调试协议的应用的PID和应用名,不加参数只显示debug的应用的历程,使用-a参数显示debug和release应用的历程,使用-p参数不显示debug和release的标签hilog [options]打印设备端的日记信息,options表示hilog支持的参数,可通过hdc hilog -h查阅支持的参数列表shell [command]交互下令,command表示需要执行的单次下令,差别类型或版本的系统支持的command下令有所差别,可以通过hdc shell ls /system/bin查阅支持的下令列表 安全相关下令

下令说明keygen FILE天生一个新的秘钥对,并将私钥和公钥分别生存到FILE和FILE.pub,其中文件名FILE可自定义 常见场景

USB毗连场景

环境确认
确认项正常异常处置处罚USB调试选项开启设备的USB调试模式如无法自动开启,请实验重启设备USB数据毗连线使用USB数据毗连线毗连到调试PC的USB接口如使用低带宽、无数据通讯功能的USB毗连线可能导致无法识别HDC设备,建议更换官方USB数据毗连线USB接口主板直出USB接口(台式机为后面板的USB接口,笔记本为机身的USB接口)如使用转接头/拓展坞/台式机前面板USB接口,存在带宽低和USB同步异常等问题,会导致频繁断连,保举使用直连方式毗连PC和设备hdc环境变量终端下令行输入hdc -h有回显帮助信息内容拜见环境准备章节驱动毗连HDC设备后,设备管理器通用串行总线设备存在设备"HDC Device"或"HDC Interface"请安装驱动 毗连步调
  1. hdc shell //USB直连需要确认设备非处在tcp连接模式,直接连接即可。
复制代码
TCP毗连场景

环境确认
确认项正常异常处置处罚网络毗连PC、手机设备处于同一网络毗连同一WiFi或手机开启热点网络状态telnet IP:port正常,网速稳定请选择稳定的网络毗连方式hdc环境变量终端下令行输入hdc有回显帮助信息拜见环境准备章节 毗连步调
长途毗连场景

长途毗连布局如图所示:


服务端配置
服务端通过USB毗连到对应的HDC设备后执行以下下令:
  1. hdc kill // 关闭本地hdc服务
  2. hdc -s IP:8710 -m // 启动网络转发的hdc服务
  3. // 其中IP为服务端自身的IP,windows可通过ipconfig查询,unix系统可通过ifconfig查询
  4. // 8710为默认端口号,也可设置为其他端口号如:18710
  5. // 启动后服务端将打印日志
复制代码
客户端毗连
客户端毗连需要确保可以连通服务端IP地点,满足前述条件后执行以下下令:
  1. hdc -s IP:8710 [command] // 其中IP为服务端IP,
  2. // command可以为任意hdc可用命令,例如list targets
复制代码
日记获取场景

server端日记
执行以下下令开启日记获取:
  1. hdc kill ​
  2. hdc -l5 start
复制代码
网络到的完备日记存放路径:
平台路径备注Windows%temp%\hdc.log 实际路径参考,实际使用请替换用户名变量
C:\Users\用户名\AppData\Local\Temp\hdc.log
Linux/tmp/hdc.log-MacOS$TMPDIR/hdc.log- 设备端日记
开启hilog日记工具,获取对应日记,下令如下:
  1. hdc shell hilog -w start // 开启hilog日志落盘
  2. hdc shell ls /data/log/hilog // 查看已落盘hilog日志
  3. hdc file recv /data/log/hilog // 获取hilog已落盘日志(包含内核日志)
复制代码
常见问题

设备无法识别

征象描述
下令行执行hdc list targets下令后,返回结果为[empty]。
可通过以下方式排查。

hdc无法运行

征象描述
使用下令行执行hdc.exe/hdc 二进制文件无法运行。
可能原因&解决方法

其他问题排查常用步调



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4