常用 HDC 命令及使用场景

更新日期:2026-10-17
hdc(HarmonyOS Device Connector)是 OpenHarmony/HarmonyOS 的设备连接调试工具,类似 Android 的 adb。
环境变量:OHOS_HDC_SERVER_PORT 可指定 hdc server 端口;多端场景建议固定端口避免混连。

0. 服务与设备管理

命令场景
hdc -v查看 hdc 版本(排查工具问题时先看这个)
hdc list targets列出当前连接的所有设备(debug 时确认连没连上)
hdc list targets -v查看设备详细信息(连接方式、IP、端口等)
hdc -t <conn_key> <cmd>多设备时指定目标设备执行命令(-t 后跟 list targets 里的 key)
hdc kill / hdc start杀掉 / 启动 hdc server(连不上设备时先 kill 再 restart)
hdc tconn <ip>:<port>连接网络设备(无线调试场景,如 hdc tconn 192.168.1.100:5555)
hdc tconn <ip>:<port> remove断开指定的网络设备
hdc tmode port 5555让设备开启网络调试端口(之后可用 tconn 走网络)
hdc -l输出更详细的日志(排查连接问题)

1. 应用安装与管理

命令场景
hdc install <path/xxx.hap>安装 HAP 包(最常用的调试安装方式)
hdc install -r <path/xxx.hap>覆盖安装(保留应用数据更新版本)
hdc install -s <path/xxx.hap>安装到 SD 卡(部分支持场景)
hdc uninstall <bundleName>卸载应用
hdc shell bm dump -a查看设备上所有已安装应用(不知道 bundleName 时先查)
hdc shell bm dump -n <bundleName>查看某应用的详细信息(版本、appId、安装路径等)
hdc shell bm install -p <data路径>设备侧安装(先传文件到设备再装,特殊场景用)

2. 应用启动与调试

命令场景
hdc shell aa start -a <abilityName> -b <bundleName>拉起应用(冷启动测试,如 aa start -a EntryAbility -b com.example.demo)
hdc shell aa force-stop <bundleName>强制停止应用(测冷启动前先杀干净)
hdc shell aa dump -a查看当前运行的 Ability 信息
hdc file recv /data/app/el2/100/base/<bundleName>/haps/entry/files/xxx ./拉取应用沙箱文件(看 log 文件、数据库等)
hdc shell ps -ef | grep <bundleName>查看应用进程是否存活
hdc shell param get persist.hilog.enabled查看日志开关状态

3. 日志(hilog)

命令场景
hdc shell hilog -r清空日志缓冲(复现问题前先清,方便看新日志)
hdc shell hilog实时打印全部日志(抓现场)
hdc shell hilog | grep <关键字>实时过滤日志(配合 app 关键字 / tag)
hdc shell hilog -x打印缓冲区已有日志后退出(不持续跟踪)
hdc shell hilog -T <tag>按 domain/tag 过滤日志
hdc shell hilog -L <domain/level>按日志级别过滤(如只看 Error)
hdc shell hilog -Q debugoff关闭调试日志流量控制(某些日志看不到时用)

小技巧:hdc shell hilog > app.log 存到本地再分析更方便(注意在 shell 外重定向,别在 shell 内)。

4. 文件传输

命令场景
hdc file send <local> <remote>本地文件推到设备(推测试数据、so 库、安装包等)
hdc file recv <remote> <local>从设备拉文件到本地(拉日志、崩溃栈、截图)
hdc shell ls /data/app/el2/100/base/浏览设备目录(找应用沙箱路径)
hdc shell rm -f <remote>删除设备上的文件(谨慎使用)

注意:/data 下部分目录需要 root 权限;商用版设备很多系统目录受限,优先访问应用沙箱和 /data/local/tmp。

5. 截图、录屏与性能

命令场景
hdc shell snapshot_display -f /data/local/tmp/s.jpeg屏幕截图(之后 hdc file recv 拉回本地)
hdc shell uitest uiDump -p /data/local/tmp导出当前页面控件树(写自动化测试、查控件 ID)
hdc shell uitest uiInput click 300 500模拟点击指定坐标(自动化/回归小脚本)
hdc shell uitest uiInput swipe 300 800 300 200模拟滑动
hdc shell uitest uiInput text "hello"模拟输入文本(焦点在输入框时)
hdc shell hidumper -s <serviceId> -a <args>dump 系统服务信息(查内存、窗口等,如 hidumper -s WindowManagerService)
hdc shell hidumper --mem <pid>查看指定进程内存占用(性能排查)
hdc shell power-shell dump查看功耗/电源相关信息
hdc shell hiprofiler_cmd ...启动性能采集(CPU/内存/trace,DevEco Profiling 的命令行方式)

6. 系统信息与调试

命令场景
hdc shell param get const.product.model查看设备型号
hdc shell param get const.product.software.version查看系统版本(提 bug 前先确认)
hdc shell param set persist.xxx value设置系统参数(调试开关,改完一般要重启生效)
hdc reboot重启设备
hdc shell reboot loader重启进入刷机模式(升级/刷机场景)
hdc shell mount -o remount,rw /重挂载系统分区为可写(root 环境替换系统文件时用)
hdc shell ps -ef查看所有进程
hdc shell netstat -anp查看网络连接状态
hdc shell ifconfig查看设备 IP(网络调试/写自动化脚本前用)
hdc shell df -h查看磁盘空间(安装失败先怀疑空间不足)

7. 端口转发与抓包

命令场景
hdc fport local=8080 remote=8080端口转发(本地访问设备上的服务,如调试 Web 服务)
hdc fport ls查看已建立的转发规则
hdc fport rm local=8080删除指定转发规则
hcd rport反向转发(设备访问本地 PC 服务,注意拼写是 hdc rport)
hdc shell tcpdump -i any -w /data/local/tmp/cap.pcap设备侧抓包(root 环境拉回本地用 Wireshark 分析)

典型调试流程串讲

hdc list targets                      # 1. 确认设备已连接
hdc shell bm dump -a                  # 2. 查 bundleName
hdc install -r entry-default.hap      # 3. 覆盖安装新版本
hdc shell hilog -r                    # 4. 清日志
hdc shell aa force-stop com.example.demo
hdc shell aa start -a EntryAbility -b com.example.demo  # 5. 冷启动复现问题
hdc shell hilog | grep MyTag          # 6. 实时看日志定位
hdc shell snapshot_display -f /data/local/tmp/s.jpeg    # 7. 截图留证
hdc file recv /data/local/tmp/s.jpeg ./               # 8. 拉回本地

几个高频原则

  • 多设备同连时,所有命令都要带 -t <conn_key>,否则容易打到别的设备上。
  • 安装报错先看两件事:签名是否匹配(覆盖安装需同签名)、df -h 磁盘是否够。
  • 设备连不上:hdc kill && hdc start 再 list targets,USB 不行换 tmode port + tconn。
  • 系统目录受限属正常,测试文件统一放 /data/local/tmp,应用数据走沙箱路径。
  • snapshot_display、uitest、hidumper 是 UI 自动化和性能排查三件套,值得熟练。
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐