> 技术文档 > HarmonyOS-hdc远程网络方式连接设备_hdc远程连接

HarmonyOS-hdc远程网络方式连接设备_hdc远程连接


hdc工具使用手册

1 hdc简介

hdc(OpenHarmony Device Connector)是为开发人员提供的用于设备连接调试的命令行工具,pc端开发机使用命令行工具hdc,该工具需支持部署在Windows/Linux/Mac等系统上与OpenHarmony设备(或模拟器)进行连接调试通信。PC端hdc工具需要针对以上开发机操作系统平台分别发布相应的版本,设备端hdc daemon需跟随设备镜像发布包括对模拟器进行支持。hdc组成关系图如下图所示:

HarmonyOS-hdc远程网络方式连接设备_hdc远程连接

PC与设备侧,可以通过网络连接,也可以通过USB线连接。

2 连接设置

hdc主从设备之间的连接可以通过USB和网络的方式进行连接。

2.1 USB方式

2.1.1 windows环境下

windows下,连接usb线,查看设备管理器。如果能看到HDC Device的设备,说明设备识别正常,可以在命令行界面中输入HDC相关命令进行交互了。

2.1.2 linux环境下
  • (1)linux下需要添加usb设备权限,连接usb线,执行lsusb命令,能识别到Phytium “HDC Device”的设备,说明枚举正常。打开cmd窗口,执行 hdc shell 就进入了命令交互界面。

  • (2)运行HDC 命令报错问题解决
    当执行hdc命令,提示[Fail] ExecuteCommnand need connect-key的错误时,解决方法为:

    编辑规则脚本: $ sudo vi /etc/udev/rules.d/90-myusb.rules添加内容:SUBSYSTEM==\"usb\", ATTR{idVendor}==\"1db7\",ATTR{idProduct}==\"dc27\", MODE=\"0666\"重启电脑或重新加载udev规则: $ sudo udevadm control --reload

2.2 网络方式

如果使用网络方式,从机设备即Openharmony设备启动后需要优先开启hdc配置:

  • 5.0 release版本之前的hdc配置

    配置hdc模式和端口$ param set persist.hdc.mode tcp #设置hdc以tcp的方式连接$ param set persist.hdc.port 8710 #port也可是其他的端口号重启hdc服务$ service_control stop hdcd #关闭hdc服务$ service_control start hdcd #开启hdc服务查看hdc状态$ param get | grep hdc
  • 5.0 release版本及以后的hdc配置

    配置hdc模式和端口$ param set persist.hdc.mode tcp #设置hdc以tcp的方式连接$ param set persist.hdc.port 8710 #port也可是其他的端口号5.0release新增配置,必须设置:$ param set persist.hdc.mode.tcp enable $ param set persist.hdc.root 1$ param set const.security.developermode.state true #开启开发者模式重启hdc服务$ service_control stop hdcd #关闭hdc服务$ service_control start hdcd #开启hdc服务查看hdc状态$ param get | grep hdc

    完成上述配置后,在主机工作台下执行以下命令连接openharmony设备,确保主机工作台ip和openharmony的ip在同一网段下,建议使用同一路由器自动分配ip。

    $ hdc tconn ip:port

    连接成功提示 Connect OK。

3 常用的hdc命令

连接从机设备:$ hdc tconn ip:port查看设备连接信息:$ hdc list targets -v 往设备中推送文件:$ hdc target mount$ hdc shell mount -0 rw,remount /$ hdc file send E:\\a.txt /data/local/tmp/a.txt 从设备中拉取文件:$ hdc file recv /data/local/tmp/a.txt ./a.txt安装应用:$ hdc install -r E:\\***.hap查看日志:$ hdc hilog进入命令行交互模式:$ hdc shell