HDC 2.0 与 ADB 指令对照表:从 15 个高频场景看 OpenHarmony 调试差异

📅 2026/7/9 16:19:03 👁️ 阅读次数 📝 编程学习
HDC 2.0 与 ADB 指令对照表:从 15 个高频场景看 OpenHarmony 调试差异

HDC 2.0 与 ADB 指令对照表:从 15 个高频场景看 OpenHarmony 调试差异

对于从 Android 开发转向 OpenHarmony 的工程师来说,掌握 HDC(OpenHarmony Device Connector)工具是必备技能。作为 OpenHarmony 生态中的调试利器,HDC 2.0 在功能设计上既借鉴了 ADB 的成熟经验,又针对分布式架构做了独特优化。本文将聚焦 15 个最常用的调试场景,通过直观的指令对照表,帮助开发者快速实现从 ADB 到 HDC 的思维迁移。

1. 工具获取与环境配置

1.1 工具获取途径对比

HDC 获取方式

  • 通过 OpenHarmony SDK 获取,位于toolchains目录下
  • 独立下载地址(需匹配 OpenHarmony 版本)

ADB 获取方式

  • Android SDK 的platform-tools目录
  • 独立平台工具包下载

提示:建议将工具路径添加到系统环境变量,避免每次使用时输入完整路径。

1.2 环境配置差异

配置项HDC 2.0ADB
默认端口87105037
多设备连接-t <deviceId>-s <serialNumber>
服务重启命令hdc kill+hdc start -radb kill-server
# HDC 多设备连接示例 hdc -t ABC123 shell # ADB 多设备连接示例 adb -s emulator-5554 shell

2. 设备基础操作

2.1 设备连接管理

设备列表查询

# HDC hdc list targets -v # 显示详细设备信息 # ADB adb devices -l

网络连接控制

# HDC 网络连接(支持主动断开) hdc tconnect 192.168.1.100:8710 hdc tconnect 192.168.1.100:8710 -remove # ADB 网络连接 adb connect 192.168.1.100:5555 adb disconnect 192.168.1.100:5555

2.2 设备状态控制

操作类型HDC 命令ADB 命令
重启设备hdc target bootadb reboot
进入恢复模式hdc target recoveryadb reboot recovery
获取 root 权限hdc smodeadb root

3. 应用生命周期管理

3.1 应用安装与卸载

安装参数对比

参数HDC 含义ADB 对应参数
-r替换已存在应用相同
-d允许降级安装相同
-g动态授权所有权限-g(需 Android 6.0+)
# HAP 安装示例 hdc install -r demo.hap # APK 安装示例 adb install -r demo.apk

3.2 应用调试控制

启动/停止应用

# HDC 启动 Ability hdc shell aa start -a MainAbility -b com.example.demo # ADB 启动 Activity adb shell am start -n com.example.demo/.MainActivity

强制停止应用

# HDC hdc shell aa force-stop com.example.demo # ADB adb shell am force-stop com.example.demo

4. 文件传输操作

4.1 基础文件传输

操作类型HDC 命令ADB 命令
上传文件hdc file send local remoteadb push local remote
下载文件hdc file recv remote localadb pull remote local

保留时间戳下载

hdc file recv -a /data/logs/ ./logs/ # -a 参数保留元数据

4.2 高级文件操作

批量传输场景

# HDC 批量上传(需配合 shell 命令) hdc shell "mkdir -p /data/test" hdc file send ./test_files/* /data/test/ # ADB 等价操作 adb shell "mkdir -p /data/test" adb push ./test_files/. /data/test/

5. 日志系统深度对比

5.1 日志查看机制

基础日志查看

# HDC 专用日志工具 hdc hilog # ADB 标准日志 adb logcat

日志等级过滤

等级HDC 参数ADB 对应级别
调试-l 4*:D
信息-l 3*:I
警告-l 2*:W
错误-l 1*:E
# 查看 DEBUG 级别日志 hdc hilog -l 4 # 等效 ADB 命令 adb logcat *:D

5.2 日志持久化分析

日志导出技巧

# HDC 日志导出(支持按时间范围) hdc hilog -w > hilog.txt hdc hilog -t 20240315-20240316 -o log.csv # ADB 日志导出 adb logcat -d > logcat.txt

6. 系统调试进阶技巧

6.1 性能分析工具

CPU 使用率监控

# HDC 专用命令 hdc shell hidumper --cpuusage # ADB 等价方案 adb shell top -n 1

内存分析对比

# OpenHarmony 内存详情 hdc shell hidumper --mem # Android 内存信息 adb shell dumpsys meminfo

6.2 分布式调试支持

跨设备调试能力

# HDC 远程调试(OpenHarmony 独有) hdc -s 192.168.1.100:8710 -m # 启动远程服务端 hdc -s 192.168.1.100:8710 list targets # 客户端查询

7. 专项场景命令对照

7.1 屏幕操作命令

截图功能实现

# HDC 两种截图方式 hdc shell uitest screenCap -p /sdcard/screen.png hdc shell snapshot_display -f /sdcard/screen.jpeg # 高性能方案 # ADB 标准截图 adb shell screencap -p /sdcard/screen.png

屏幕录制差异

> 注意:当前 HDC 2.0 尚未内置录屏命令,需通过第三方工具实现

7.2 输入模拟测试

触摸事件模拟

# HDC 输入事件 hdc shell uinput -K -d 2 -i 2 -u 2 # 收起键盘 # ADB 输入事件 adb shell input keyevent KEYCODE_BACK

8. 网络调试工具链

8.1 端口转发机制

端口映射对比

# HDC 端口转发 hdc fport tcp:8080 tcp:80 # 正向转发 hdc rport tcp:80 tcp:8080 # 反向转发 # ADB 端口转发 adb forward tcp:8080 tcp:80 adb reverse tcp:80 tcp:8080

8.2 网络诊断支持

网络状态检查

# OpenHarmony 网络诊断 hdc shell net_analysis -c # Android 网络诊断 adb shell ping -c 4 www.example.com

9. 系统信息获取

9.1 设备信息查询

系统属性获取

# HDC 专用命令 hdc shell param get | grep ro.product # ADB 等价命令 adb shell getprop | grep ro.product

9.2 进程管理对比

进程查看命令

# OpenHarmony 进程列表 hdc shell ps -ef # Android 进程详情 adb shell ps -A

10. 安全权限管理

10.1 权限调试命令

权限授予检查

# HDC 权限查询 hdc shell aa dump -p com.example.demo # ADB 权限检查 adb shell dumpsys package com.example.demo

10.2 SELinux 策略

安全上下文查看

# OpenHarmony 安全策略 hdc shell ls -Z /data # Android SELinux 状态 adb shell getenforce

11. 崩溃分析工具

11.1 崩溃日志获取

系统崩溃记录

# HDC 崩溃日志 hdc shell hidumper -e # ADB 崩溃信息 adb shell dumpsys dropbox

11.2 性能快照

系统状态捕获

# OpenHarmony 系统快照 hdc shell hidumper --zip # Android bugreport adb bugreport

12. 存储管理差异

12.1 存储空间分析

磁盘使用情况

# HDC 存储查询 hdc shell df -h # ADB 存储详情 adb shell df -h

12.2 挂载点管理

分区挂载操作

# OpenHarmony 重新挂载 hdc shell mount -o remount,rw / # Android 等价命令 adb shell mount -o remount,rw /system

13. 调试优化建议

13.1 性能优化技巧

日志缓冲区设置

# HDC 日志缓冲调整 hdc shell hilog -b 2M # 设置为2MB缓冲区 # ADB 日志缓冲控制 adb logcat -G 2M

13.2 连接稳定性

断线重连策略

- HDC 推荐方案: 1. `hdc kill` 2. `hdc start -r` 3. 检查防火墙设置 - ADB 对应方案: 1. `adb kill-server` 2. `adb start-server`

14. 扩展功能探索

14.1 鸿蒙特色能力

分布式调试支持

# 跨设备能力调用查询 hdc shell dnetwork -l # 分布式设备发现 hdc shell dnetwork discover

14.2 原子化服务

卡片服务管理

# 卡片服务调试 hdc shell aa dump -f form # 卡片生命周期触发 hdc shell aa trigger -f form_123

15. 最佳实践总结

15.1 命令组合技巧

自动化调试脚本示例

#!/bin/bash # HDC 自动化调试流程 hdc -t $DEVICE_ID shell "rm -rf /data/logs/*" hdc -t $DEVICE_ID install demo.hap hdc -t $DEVICE_ID shell aa start -b com.example.demo hdc -t $DEVICE_ID hilog -w > debug.log

15.2 异常处理指南

常见问题解决方案

问题现象HDC 解决方案ADB 对应方案
设备连接超时检查hdc start -r服务状态重启adb server
文件传输权限拒绝使用hdc smode获取 root 权限adb root+adb remount
日志输出不完整调整hilog -b缓冲区大小修改logcat -G缓冲配置

在实际项目迁移过程中,建议建立个人化的命令对照速查表。例如将常用的adb logcat | grep "Exception"替换为hdc hilog -l 1 | grep "E/",这种模式转换能显著提升调试效率。