# 真机设备链接后，执行“hdc list targets”命令结果为“[Empty]”

**问题现象**

执行hdc list targets命令后返回空列表\[Empty\]，设备未正常识别。

**可能原因**

| 类别 | 具体表现 |
| --- | --- |
| 硬件连接 | USB接口异常/数据线损坏/拓展坞干扰。 |
| 驱动问题 | HDC驱动未安装/驱动版本冲突/Zadig工具安装异常。 |
| 环境冲突 | 端口被占用（例如ADB与HDC共用8710端口）/TCP模式切换失败。 |
| 系统兼容 | 设备系统与HDC工具版本不匹配/镜像烧录异常。 |

**解决措施**

一、检查设备连接情况

1.  Windows环境。
    
    查看设备管理是否显示HDC设备。
    
    若有“HDC Device”显示说明正常。
    
    若有“HDC Interface”显示说明也正常（一般为复合端口设备）。
    
    如果未显示HDC设备，说明设备无法被识别。请尝试以下方法：
    
    *   更换USB端口
    *   使用其他USB线
    *   将设备连接到其他计算机
    *   重新烧录相应镜像
    
    驱动损坏时，重新安装驱动。
    
    重新安装驱动的方法：
    
    打开zadig（zadig官网)/（zadig仓库下载），插入设备，Options里面打开List All Devices，下拉框找到HDC Device，然后点击Reinstall Driver。
    
2.  Linux环境。
    
    在命令行执行“lsusb”，查看是否存在HDC Device或HDC Interface。如果没有该命令，通过“apt-get install usbutils”安装usbutils。
    
3.  Mac环境。
    
    使用“系统信息”或“系统概述”来查看MacOS是否识别连接到Mac的USB设备。
    
    (1)按住键盘上的Option键，然后点击苹果菜单。
    
    (2)选取“系统信息”或“系统概述”。
    
    (3)在随后出现的窗口中，选择左侧的“USB”。
    
    (4)在随后显示的设备树中检查是否存在HDC Device/HDC Interface。如果没有显示，可按照以下思路检查USB连接是否正常。
    

| 排查项 | 正常内容 | 异常处理 |
| --- | --- | --- |
| USB接口 | 使用USB直连 | 如果使用拓展坞无法识别设备，请更换拓展坞或尝试直连。 |
| USB线 设备状态 | 使用原装配套USB连接线 设备处于开机状态，进入【系统设置>系统>开发人员选项】 "USB调试"开关处于常开 | 如使用其他第三方线材，需确认其至少满足USB2.0标准。 如USB调试开关非常开，可以尝试重新插拔USB接口、重启设备或恢复出厂设置。 |

二、清除设备告警。

1.  打开本地注册表（regedit），导航至：计算机\\HKEY\_LOCAL\_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Class\\{88bae032-5a81-49f0-bc3d-a4ff138216d6}。
2.  在右侧列表中找到【UpperFilters】键，右键点击并选择修改，清空所有字符数据（建议在清空前备份数据）。最后，刷新或插拔设备，或重启PC，即可正常显示。
    

三、进入【设置>系统>开发人员选项>usb调试】重新关闭、打开USB调试；

四、若连接设备时出现“\\\[Fail\\\] Failed to communicate with daemon”。

1.  hdc与设备不匹配：如果设备烧写的镜像是最新版本，hdc也必须使用最新版本。
2.  端口被占用可能导致hdc和hdc\_std无法同时运行，因为它们使用相同的端口。请注意，只运行其中一个。
3.  可能由于adb和hdc冲突导致。
    
    运行adb kill-server。
    
    运行hdc kill。
    
    运行hdc start。