华为平板 HarmonyOS 鸿蒙Next 4.2.0 DevEco Studio HuiTest 无法识别设备 (hdc list targets [Empty]) 求助

华为平板 HarmonyOS 鸿蒙Next 4.2.0 DevEco Studio HuiTest 无法识别设备 (hdc list targets [Empty]) 求助

各位开发者好!

我正在尝试在华为 MatePad Pro (型号 MRX-W09),运行 HarmonyOS 4.2.0 系统上,使用 DevEco Studio (OpenHarmony SDK Toolchains) 和 HuiTest 框架进行自动化测试。然而,在设备连接识别环节遇到了顽固的问题,hdc list targets 命令的输出始终是 [Empty],尽管做了大量排查。恳请各位大佬帮忙分析和解决!

我的设备与环境信息:

  • 平板型号: 华为 MatePad Pro (MRX-W09)
  • HarmonyOS 版本: 4.2.0 (确认是最新版本,非版本过低问题)
  • 开发环境: DevEco Studio (已下载并安装 OpenHarmony SDK Toolchains)
  • 问题命令: hdc list targets

详细排查过程和遇到的问题:

我按照官方文档和社区常见解决方案,进行了以下详细排查:

  1. HuiTest 环境搭建与 ADB/HDC 配置:

    • 已在 DevEco Studio 中下载并安装了 OpenHarmony SDK 的 Toolchains 组件。
    • hdc.exe 文件已确认存在于 C:\Users\23710\AppData\Local\OpenHarmony\Sdk\15\toolchains 路径下。(见下图) cke_3705.png
    • 已将该路径添加到系统环境变量 Path 中。
    • hdc --version 命令运行正常,表明 hdc 命令可被识别。 cke_7365.png
  2. 平板端设置:

    • 已在平板上进入“设置” -> “关于平板” -> 连续点击“HarmonyOS 版本号”多次,成功开启了“开发者选项”。
    • 已在“开发者选项”中打开了 “USB 调试” 开关。
  3. 初次连接与 hdc list targets 尝试:

    • 使用 USB 数据线连接平板和电脑。
    • 平板上会弹出 “是否允许 USB 调试?” 的提示(见下图),我已点击“确定”。 image.png
    • 同时,平板上还会弹出 USB 连接用途选择,我每次都选择了 “传输文件”
    • 然而,在电脑命令行中运行 hdc list targets,输出始终是 [Empty]
  4. hdc 命令修正:

    • 发现之前误用了 hdc start-server,根据帮助信息,正确的命令是 hdc start
    • 修正后,hdc killhdc start 命令执行正常,无报错。但 hdc list targets 仍为 [Empty]
      C:\Users\23710>hdc kill
      Kill server finish
      
      C:\Users\23710>hdc start
      
      C:\Users\23710>hdc list targets
      [Empty]
      
  5. 设备管理器排查:

    • 在连接平板后,电脑的“设备管理器”中能够正常识别到我的平板型号 MRX-W09,并且显示驱动是最新且完好的。(见下图) image.png
    • 在“通用串行总线设备”下,也明确显示了 “ADB Interface”,这表明 ADB/HDC 调试接口的驱动已被识别。(见下图) image.png
  6. HiSuite 安装与驱动冲突排查:

    • 为了解决潜在的驱动问题,我尝试安装华为官方的 华为手机助手 (HiSuite)
    • 在安装 HiSuite 过程中,遇到了 “无法在此设备上加载驱动程序 ew_usbccgpfilter.sys” 的错误提示,提示“安全设置将阻止加载此驱动程序”。(见下图) image.png
    • 我按照指导,进入 Windows 高级启动选项,**禁用“驱动程序强制签名”**后,成功安装了 HiSuite。
    • 安装 HiSuite 后,它能够成功连接并管理我的平板! (见下图)这进一步证实了 USB 连接和核心驱动是正常的。 image.png
    • 然而,即使 HiSuite 成功连接后,我退出 HiSuite,然后重启 hdc 服务再 list targets,结果仍然是 [Empty]
  7. 反复尝试与确认:

    • 每次排查都严格按照步骤,包括重启电脑、重启平板、撤销 USB 调试授权、关闭/开启 USB 调试、重新插拔 USB 线、严格按照顺序处理平板上的“传输文件”和“始终允许 USB 调试”弹窗(确认已勾选“始终允许这台电脑”)。
    • 每次操作前,都确保杀死了 hdc.exeadb.exe 进程,并执行了 hdc killadb kill-server
    • 尝试了不同的 USB 端口。

当前遇到的困境总结:

  1. 平板 HarmonyOS 版本最新 (4.2.0),非版本过低问题。
  2. 设备管理器显示平板驱动正常,且明确识别到“ADB Interface”。
  3. 华为手机助手 (HiSuite) 能成功连接平板。
  4. 平板上能够正常弹出并处理“允许 USB 调试”的授权弹窗,并已勾选“始终允许”。
  5. hdc 命令本身使用正确,服务也能启动。
  6. 然而,hdc list targets 始终 [Empty]

我猜测问题可能在于:

  • 尽管驱动安装成功,但 hdc 服务与“ADB Interface”之间的某些低层通信或权限存在问题。
  • 授权信息在平板端或电脑端没有被 hdc 服务正确或持久地保存/识别。
  • 是否存在 hdc 版本与 HarmonyOS 4.2.0 或特定 MatePad Pro 型号之间的某种不兼容性?

恳请各位有经验的开发者提供进一步的排查思路或解决方案。非常感谢!


更多关于华为平板 HarmonyOS 鸿蒙Next 4.2.0 DevEco Studio HuiTest 无法识别设备 (hdc list targets [Empty]) 求助的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

楼主使用的是HarmonyOS 4.2.0系统版本,HarmonyOS 5.0及以上版本才支持DevEco Studio开发调试,请升级版本后用于开发调试。

更多关于华为平板 HarmonyOS 鸿蒙Next 4.2.0 DevEco Studio HuiTest 无法识别设备 (hdc list targets [Empty]) 求助的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


鸿蒙Next 4.2.0下HDC无法识别设备可能原因及解决方法:

  1. 检查USB调试是否开启(开发者选项-USB调试)
  2. 确认设备驱动正常(设备管理器无感叹号)
  3. 更新HDC工具至最新版本(需匹配鸿蒙Next 4.2.0)
  4. 检查HuiTest环境配置是否正确
  5. 尝试重启HDC服务(hdc kill / hdc start)
  6. 更换USB线或接口测试

根据你的描述,问题可能出在HDC服务与HarmonyOS 4.2.0的兼容性上。以下是几个关键点:

  1. 确认HDC版本是否匹配:HarmonyOS 4.2.0可能需要特定版本的HDC工具链。建议检查SDK Manager中是否有更新可用。

  2. 端口冲突检查:HDC默认使用5037端口,与ADB相同。确保没有其他进程占用该端口:

    netstat -ano | findstr 5037
    
  3. 尝试直接指定设备IP连接:

    hdc tconn <设备IP>:<端口>
    
  4. 检查平板端的HDC服务状态:

    • 在平板上安装终端应用
    • 执行ps -ef | grep hdc确认服务运行
    • 执行getprop persist.hdc.port查看端口号
  5. 临时解决方案:可以尝试使用Wi-Fi连接替代USB连接,先通过USB配对后切换到无线调试。

  6. 日志收集:在PC端执行hdc -v list targets获取详细日志,或在平板上查看/data/log/hilog/下的相关日志。

如果以上方法无效,可能需要等待华为发布适配HarmonyOS 4.2.0的HDC工具链更新。

回到顶部