
HDC 2.0 与 ADB 指令对照表从 15 个高频场景看 OpenHarmony 调试差异对于从 Android 开发转向 OpenHarmony 的工程师来说掌握 HDCOpenHarmony 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 killhdc start -radb kill-server# HDC 多设备连接示例 hdc -t ABC123 shell # ADB 多设备连接示例 adb -s emulator-5554 shell2. 设备基础操作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:55552.2 设备状态控制操作类型HDC 命令ADB 命令重启设备hdc target bootadb reboot进入恢复模式hdc target recoveryadb reboot recovery获取 root 权限hdc smodeadb root3. 应用生命周期管理3.1 应用安装与卸载安装参数对比参数HDC 含义ADB 对应参数-r替换已存在应用相同-d允许降级安装相同-g动态授权所有权限-g需 Android 6.0# HAP 安装示例 hdc install -r demo.hap # APK 安装示例 adb install -r demo.apk3.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.demo4. 文件传输操作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 *:D5.2 日志持久化分析日志导出技巧# HDC 日志导出支持按时间范围 hdc hilog -w hilog.txt hdc hilog -t 20240315-20240316 -o log.csv # ADB 日志导出 adb logcat -d logcat.txt6. 系统调试进阶技巧6.1 性能分析工具CPU 使用率监控# HDC 专用命令 hdc shell hidumper --cpuusage # ADB 等价方案 adb shell top -n 1内存分析对比# OpenHarmony 内存详情 hdc shell hidumper --mem # Android 内存信息 adb shell dumpsys meminfo6.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_BACK8. 网络调试工具链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:80808.2 网络诊断支持网络状态检查# OpenHarmony 网络诊断 hdc shell net_analysis -c # Android 网络诊断 adb shell ping -c 4 www.example.com9. 系统信息获取9.1 设备信息查询系统属性获取# HDC 专用命令 hdc shell param get | grep ro.product # ADB 等价命令 adb shell getprop | grep ro.product9.2 进程管理对比进程查看命令# OpenHarmony 进程列表 hdc shell ps -ef # Android 进程详情 adb shell ps -A10. 安全权限管理10.1 权限调试命令权限授予检查# HDC 权限查询 hdc shell aa dump -p com.example.demo # ADB 权限检查 adb shell dumpsys package com.example.demo10.2 SELinux 策略安全上下文查看# OpenHarmony 安全策略 hdc shell ls -Z /data # Android SELinux 状态 adb shell getenforce11. 崩溃分析工具11.1 崩溃日志获取系统崩溃记录# HDC 崩溃日志 hdc shell hidumper -e # ADB 崩溃信息 adb shell dumpsys dropbox11.2 性能快照系统状态捕获# OpenHarmony 系统快照 hdc shell hidumper --zip # Android bugreport adb bugreport12. 存储管理差异12.1 存储空间分析磁盘使用情况# HDC 存储查询 hdc shell df -h # ADB 存储详情 adb shell df -h12.2 挂载点管理分区挂载操作# OpenHarmony 重新挂载 hdc shell mount -o remount,rw / # Android 等价命令 adb shell mount -o remount,rw /system13. 调试优化建议13.1 性能优化技巧日志缓冲区设置# HDC 日志缓冲调整 hdc shell hilog -b 2M # 设置为2MB缓冲区 # ADB 日志缓冲控制 adb logcat -G 2M13.2 连接稳定性断线重连策略- HDC 推荐方案 1. hdc kill 2. hdc start -r 3. 检查防火墙设置 - ADB 对应方案 1. adb kill-server 2. adb start-server14. 扩展功能探索14.1 鸿蒙特色能力分布式调试支持# 跨设备能力调用查询 hdc shell dnetwork -l # 分布式设备发现 hdc shell dnetwork discover14.2 原子化服务卡片服务管理# 卡片服务调试 hdc shell aa dump -f form # 卡片生命周期触发 hdc shell aa trigger -f form_12315. 最佳实践总结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.log15.2 异常处理指南常见问题解决方案问题现象HDC 解决方案ADB 对应方案设备连接超时检查hdc start -r服务状态重启adb server文件传输权限拒绝使用hdc smode获取 root 权限adb rootadb remount日志输出不完整调整hilog -b缓冲区大小修改logcat -G缓冲配置在实际项目迁移过程中建议建立个人化的命令对照速查表。例如将常用的adb logcat | grep Exception替换为hdc hilog -l 1 | grep E/这种模式转换能显著提升调试效率。