Author Date Version Description
陈梓归 2023-06-13 V1.0 第一个版本

HDC

1.1 简单介绍

hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与 真实设备或者模拟器进行交互。hdc工具通过HarmonyOS sdk获取,存放于sdk的toolchains目录下,使用前请将sdk的toolchains目录添加到环境变量,为防止端口占用,还应变更hdc的端口号

架构
hdc主要有三部分组成:

  • hdc client部分:运行于开发机上的客户端,用户可以在开发机命令终端(windows cmd/linux shell)下请求执行相应的hdc命令,运行于开发机器,其它的终端调试IDE也包含hdc client。
  • hdc server部分:作为后台进程也运行于开发机器,server管理client和设备端daemon之间通信包括连接的复用、数据通信包的收发,以及个别本地命令的直接处理。
  • hdc daemon部分:daemon部署于OpenHarmony设备端作为守护进程来按需运行,负责处理来自client端的请求。

1.2 搭建环境

1.2.1 设备机

D2000为例,默认会安装命令到板子上:hdc and hdcd

  • 默认编译完输出在out/d2000/developtools/hdc目录

最重要的就是需要确认设备机器上面的hdc使用的版本,在设备机上使用命令hdcd -v

# hdcd -v
Ver: 1.2.0a

配置ip和port方便pc机连接上来:

# 设置ip
ifconfig eth0 10.31.94.242


# 查询hdc参数
param get | grep hdc
# 设置hdc参数
param set persist.hdc.mode tcp
param set persist.hdc.port 9527
# 启动hdcd服务
hdcd &

在这里插入图片描述

1.2.2 pc机

进入ohos-sdk/linux,解压toolchains-linux-x64-3.2.13.5-Release.zip,进入ohos-sdk/linux/toolchains,里面有对应的hdc命令
在这里插入图片描述

输入命令./hdc -v来查看版本是否和设备端对应,按道理来说鸿蒙版本对应那么一般hdc版本就会对应:

❰fovt❙/data/bin/openharmony-debug/hdc/pc_hdc_v120a(git:main)❱✔≻ ./hdc  -v
Ver: 1.2.0a

连接设备并操作

# 首先连接设备
tconn ip:port
hdc  tconn 10.31.94.242:9527
❰fovt❙~❱✘≻ hdc  tconn 10.31.94.242:9527
Connect OK

1.2.3 操作

  • 可以很方便的查看打印并保存到本机,速度大大的增加~
# hilog
hdc hilog / hdc shell hilog

# 执行shell命令但是不进入shell
hdc shell [command]

# 启动shell
./hdc shell

# 文件接收发送
# 接受
hdc file recv [-a] remote local // -a:文件保留时间戳模式
hdc file recv -a /data/atomic_test ./
# 发送
hdc file send openharmony-debug/ /data/test

# 如果要传入东西到根分区,需要重新挂载/分区,将只读改成可写
hdc shell "mount -o remount,rw /"
Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐