hdc 命令指南:连接、安装应用并调试 OpenHarmony 设备

发布:

hdc工具调试

简短回答: hdc(OpenHarmony Device Connector)是连接和调试 OpenHarmony 与 HarmonyOS 设备或模拟器的命令行工具,作用类似 Android 上的 adb:列出设备、安装应用、传输文件、打开 shell 和查看日志。

hdc 是什么?

hdc 由三部分组成:

  • 客户端(Client): 运行在你的电脑上,执行你在终端或 IDE 中输入的命令。
  • 服务端(Server): 电脑上的后台进程,负责客户端与设备之间的通信,包括连接复用和数据传输。
  • 守护进程(Daemon): 运行在设备上,处理来自客户端的请求。

在哪里获取 hdc?

hdc 打包在 SDK 中。DevEco Studio 将它放在 SDK 的 toolchains 目录下(例如 .../sdk/default/openharmony/toolchains)。把该目录加入 PATH,就可以在任意终端运行 hdc。源码位于 developtools_hdc 仓库。

验证是否可用:

hdc -v

最常用的 hdc 命令有哪些?

设备

hdc list targets        # 列出已连接的设备
hdc list targets -v     # 显示详细信息(连接方式、状态)

安装和卸载应用

hdc install path/to/app.hap     # 安装应用包
hdc uninstall com.example.app   # 按包名卸载应用

传输文件

hdc file send <本地路径> <设备路径>   # 电脑 -> 设备
hdc file recv <设备路径> <本地路径>   # 设备 -> 电脑

Shell 与应用管理

hdc shell                                  # 打开设备上的交互式 shell
hdc shell bm dump -a                       # 列出所有已安装的包
hdc shell bm dump -n <bundle-name>         # 查看某个包的详细信息
hdc shell aa start -a <ability> -b <bundle>   # 启动 ability
hdc shell aa force-stop <bundle>              # 强制停止应用

日志

hdc hilog               # 持续输出设备日志

端口转发

hdc fport tcp:<本地端口> tcp:<设备端口>   # 将电脑端口转发到设备
hdc fport ls                              # 列出转发规则
hdc rport tcp:<设备端口> tcp:<本地端口>   # 反向转发(设备 -> 电脑)

服务控制

hdc kill                # 停止 hdc 服务
hdc start -r            # 重启服务

为什么 hdc 看不到我的设备?

  1. 确认设备已开启开发者模式和 USB 调试,并使用支持数据传输的 USB 线。
  2. 运行 hdc list targets。结果为空说明没有设备连接或未授权。
  3. 先 hdc kill,再 hdc start -r 重启服务。
  4. 确认 PATH 中只有一个版本的 hdc,因为一台电脑上安装多个 SDK 可能导致版本冲突。
  5. 重新连接设备,再次运行 hdc list targets。

后续步骤

常见问题

hdc 是什么的缩写?

hdc 是 OpenHarmony Device Connector 的缩写,是在开发电脑上连接和调试 OpenHarmony 设备或模拟器的命令行工具。

OpenHarmony 中相当于 adb 的工具是什么?

hdc 的作用与 Android 的 adb 相同:列出设备、安装和卸载应用、传输文件、打开 shell 以及查看日志。

如何用 hdc 安装 HAP 文件?

运行 hdc install 并加上 .hap 文件的路径。卸载应用时,运行 hdc uninstall 并加上包名(bundle name)。

如何重启 hdc 服务?

运行 hdc kill 停止服务,再运行 hdc start -r 重新启动。这通常可以解决设备不显示的问题。