01-鸿蒙系统 hdc 环境配置详解(Windows + Linux 新手笔记)
2026/9/3 8:07:53 网站建设 项目流程

适用对象:刚装好鸿蒙开发环境、第一次用 hdc 的新人
文档定位:照着一步步配就能通 + 随时查的命令速查 + 踩坑记录
配套文档:wukong 测试指令详解(hdc 配好才能跑 wukong)


一、hdc 是什么(30 秒理解)

hdc(HarmonyOSDeviceConnector)是鸿蒙提供的设备连接/调试命令行工具,相当于 Android 的adb

  • 通过 USB 或网络(TCP)连接真实设备 / 模拟器
  • 能执行shell命令、传文件、装/卸应用、抓日志
  • wukong 测试、截图、日志分析全都建立在 hdc 能连上设备的前提上

一句话记忆法:hdc = 鸿蒙版 adb。adb 会,hdc 就会一半。


二、hdc 从哪来(工具获取)

hdc 不单独发,跟着HarmonyOS SDK走,放在 SDK 的toolchains目录里。

两种拿到方式(任选其一):

方式适用人群说明
装 DevEco Studio大多数人IDE 自带 SDK,装完直接有 hdc
下载 Command Line Tools只跑命令、不写代码;CI 服务器华为官网下commandline-tools压缩包,解压即用

默认路径速查

系统hdc 所在目录(示例)
WindowsC:\Users\你的用户名\AppData\Local\HarmonyOS\Sdk\toolchains
Linux~/HarmonyOS/Sdk/toolchains或 DevEco Studio 安装目录下的sdk/toolchains
macOS~/Library/Huawei/sdk/toolchains~/HarmonyOS/Sdk/toolchains

找不到?在 DevEco Studio 里:File > Settings > SDK能看到 SDK 实际安装路径,进去找toolchains目录即可。


三、Windows 配置步骤(一步一步来)

Step 1 找到 hdc.exe 路径

按上面的路径打开文件夹,确认里面有hdc.exe

Step 2 加进系统 PATH

此电脑 → 右键「属性」 → 高级系统设置 → 高级 → 环境变量 → 在「系统变量」或「用户变量」里找 Path → 编辑 → 新建 → 粘贴 toolchains 目录路径(如 C:\Users\xxx\AppData\Local\HarmonyOS\Sdk\toolchains) → 一路确定保存

Step 3 让配置生效

关掉所有命令行窗口重新打开(或用 DevEco Studio 的 Terminal)。这一步很多人忘,配完不生效多半是这个原因。

Step 4 验证

hdc -v

能打印版本号(如Ver: 1.3.0a)即配置成功。

⚠️Windows 驱动坑:设备管理器里若HDC Device出现黄色感叹号,说明驱动没装好。装华为手机助手(HiSuite)会自动带驱动,或手动更新驱动指向HDC Device


四、Linux 配置步骤(环境变量 + udev 权限)

Linux 比 Windows 多一步:USB 设备权限(udev 规则),否则非 root 下hdc list targets看不到设备。

Step 1 找到 hdc 路径并加执行权限

# 进入 toolchains 目录cd~/HarmonyOS/Sdk/toolchains# 确认有 hdc,并赋予可执行权限(必须!)chmod+x hdc ./hdc-v# 能出版本号说明文件 OK

Step 2 加进 PATH(两种 shell 写法)

# Bash 用户(大多数)echo'export PATH=$PATH:~/HarmonyOS/Sdk/toolchains'>>~/.bashrcsource~/.bashrc# Zsh 用户(macOS/部分 Linux)echo'export PATH=$PATH:~/HarmonyOS/Sdk/toolchains'>>~/.zshrcsource~/.zshrc

路径换成你实际的 toolchains 绝对路径(建议用绝对路径,不要写~展开可能出错)。

Step 3 配置 udev 规则(关键!解决非 root 看不到设备)

# 1. 先插上设备,看 USB 是否能识别到 HDC Devicelsusb# 输出里找类似 "HDC Device" / "Phytium HDC Device" 的行,记下 Vendor ID(如 12d1)# 2. 新建 udev 规则文件sudovim/etc/udev/rules.d/90-hdc.rules

文件内容(华为设备 VID 为12d1;其它厂商先用lsusb查到 VID 再替换):

# 让所有用户可读写 HDC 设备(新手最简方案) SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666" # 若想用用户组方式(更规范),改为下面这行并把自己加入 plugdev 组: # SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"
# 3. 重载规则并重新触发sudoudevadm control --reload-rulessudoudevadm trigger# 4. 重新插拔 USB 线# 5. 验证(无需 sudo)hdc list targets

多渠道商设备 VID 不同,记不住就lsusb看一眼,把12d1换成你设备实际的 Vendor ID 即可。

Step 4 验证

hdc-vhdc list targets

五、设备侧准备(两端都要做)

不管 Windows 还是 Linux,设备端不开调试,PC 怎么配都连不上

  1. 打开「设置 → 关于本机 → 连续点版本号 7 次开启开发者模式
  2. 「设置 → 系统 → 开发者选项 → 开启USB 调试
  3. 用数据线连电脑,在设备弹窗里点「允许 USB 调试」(勾选"一律允许"更省事)
  4. 确认 USB 连接模式是「传输文件(MTP)」而非仅充电

六、连接设备 & 验证

# 查询已连接设备(返回 [empty] 就是没连上)hdc list targets# 打印详细信息(含 connect-key,多设备时用它区分)hdc list targets-v# 查看客户端与服务端版本是否匹配hdc checkserver

连不上的通用救法:hdc kill -r杀掉异常进程并重启服务,再hdc list targets


七、无线/网络调试(不用 USB 线)

适合设备 USB 口坏了、或要做长时间稳定性测试时不想被线绊住。

# 方式 A:设备已在「开发者选项 → 无线调试」里开了,直接连hdc tconn192.168.1.100:5555# 方式 B:先通过 USB 打开设备网络通道,再拔线连hdc tmode port5555# 设备端开启 TCP 监听(此命令后 USB 会断)hdc tconn192.168.1.100:5555# 断开网络设备或恢复 USBhdc tconn192.168.1.100:5555-removehdc tmode usb# 恢复 USB 模式

网络调试要求 PC 与设备同一网段hdc tconn的端口默认和OHOS_HDC_SERVER_PORT不是一回事,别混。


八、常用命令速查表(配好就能干活)

类别命令说明
版本/连接hdc -v查看 hdc 版本
hdc list targets列出已连接设备
hdc list targets -v列出设备详情(含 connect-key)
hdc checkserver校验 client/server 版本
Shellhdc shell进入设备 shell(前面 wukong 就在这敲)
hdc shell <命令>单次执行,如hdc shell ps -ef
文件hdc file send 本地 远程本地→设备,如hdc file send ./a.txt /data/local/tmp/a.txt
hdc file recv 远程 本地设备→本地,如hdc file recv /data/local/tmp/a.txt ./a.txt
应用hdc install xxx.hap安装应用(-r覆盖,-s替换)
hdc uninstall 包名卸载应用
日志hdc hilog实时打印设备日志(配合grep用)
服务hdc start -r启动/重启 hdc 服务
hdc kill -r终止/重启服务(连不上先试这个)
设备hdc target boot重启设备
多设备hdc -t <connect-key> shell指定某台设备执行命令

多设备场景一定加-t connect-key,否则 hdc 不知道往哪台发命令。


九、关键环境变量(进阶但常用)

变量名作用默认值怎么用
OHOS_HDC_SERVER_PORT修改 hdcserver 监听端口87108710 被占用时改掉,如设18710
OHOS_HDC_LOG_LEVEL调整日志打印级别(排查用)默认5开详细日志

Windows 设置:此电脑 → 属性 → 高级 → 环境变量 → 新建系统变量。
Linux/macOS 设置

echo'export OHOS_HDC_SERVER_PORT=18710'>>~/.bashrcecho'export OHOS_HDC_LOG_LEVEL=5'>>~/.bashrcsource~/.bashrc

⚠️ 改完环境变量要重启命令行/DevEco Studio才生效。命令行里用-s ip:port指定服务端口时会忽略这个环境变量。


十、⚠️ 新手必踩的 6 个坑

  1. 配完 PATH 不生效→ 八成是没重开命令行窗口。关掉重开。
  2. Linux 非 root 看不到设备→ 没配 udev 规则或没chmod +x hdc。按第四节 Step 1、3 走。
  3. Windows 设备管理器 HDC Device 黄标→ 驱动没装。装 HiSuite 或手动更新驱动。
  4. 设备连上但list targets是 [empty]→ 设备没开 USB 调试,或弹窗没点"允许",或 USB 模式是"仅充电"。
  5. 多个 hdc 版本打架→ DevEco Studio 自带一个、自己又下了一个,PATH 指向混乱。确保 PATH 里只留一个 toolchains。
  6. 8710 端口被占→ 设OHOS_HDC_SERVER_PORT换个端口,重启命令行再试。

记忆口诀:连不上先hdc kill -r,再看设备开没开调试,再看驱动/权限。


十一、标准作业流(SOP)

# 1. 设备开开发者模式 + USB 调试,连电脑,点允许# 2. Windows / Linux 按上面配好 PATH(Linux 还要 chmod +x 和 udev)# 3. 验证hdc-vhdc list targets# 能看到设备序列号 = 成功# 4. 进 shell 跑 wukong(接上一篇笔记)hdc shell wukong-v

十二、一句话速记卡(贴显示器上)

hdc = 鸿蒙版 adb 路径:SDK 的 toolchains 目录 Windows: 加 Path → 重开终端 → hdc -v Linux: chmod +x + 加 Path + udev(VID 12d1) + 重插拔 设备: 开发者模式 + USB调试 + 点允许 + 传输文件模式 hdc list targets 查设备 hdc shell 进设备 hdc tconn IP:端口 无线连 hdc kill -r 连不上先重启服务 OHOS_HDC_SERVER_PORT 默认 8710,冲突就改

参考来源

  • 华为开发者文档:hdc 调试命令
  • 华为设备开发文档:hdc - 调试命令

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询