adb devices 找不到设备?10 个有效的解决方法
adb devices 列表为空,或提示 no devices/emulators found。在 Windows、macOS 和 Linux 上逐一检查数据线、USB 调试、驱动、USB 模式和 adb 服务。
插上手机,运行 adb devices,结果列表是空的:
List of devices attached
或者命令报错 adb: no devices/emulators found。这说明电脑没有把手机识别为 ADB 设备。按顺序做下面的检查,大多数问题在前四步就能解决。
1. USB 调试真的打开了吗?
打开 设置 › 关于手机,连续点击 版本号 七次,然后打开 开发者选项 › USB 调试。小米、红米和 POCO 手机要点的是 MIUI 版本 或 OS 版本,开发者选项在 更多设置 (Additional settings) 里。各品牌的完整步骤见 如何打开 USB 调试。
2. 是数据线吗?
很多线只能充电。如果手机在充电,但电脑完全没反应(Windows 没有新设备提示音,手机 USB 通知也没有变化),换一根线试试,最好是手机原装的那根。
3. 解锁手机,留意弹窗
解锁屏幕,应该会弹出 允许 USB 调试吗?(Allow USB debugging?) 对话框,点击 允许。在此之前,手机会显示为 unauthorized,在某些系统上甚至完全不显示。
4. 切换 USB 模式
下拉通知栏,点击 USB 通知,选择 传输文件 (File transfer)。有些手机只有在这个模式下才会开放 ADB,尤其是较老的三星和华为机型。
5. 安装驱动(仅 Windows)
macOS 和 Linux 不需要驱动,Windows 需要:
- Google Pixel 和许多其他手机: Android SDK 中的 Google USB Driver
- 三星: Samsung Android USB Driver
- 小米、OPPO、vivo、realme 等: 厂商提供的驱动或电脑套件
在 设备管理器 中,手机应该出现在 Android Device › Android Composite ADB Interface 下。如果有黄色感叹号,说明缺少驱动。
6. Linux:权限问题
在 Linux 上,系统可能识别到了手机,但当前用户没有访问权限。安装发行版的 android-sdk-platform-tools-common 或 android-udev-rules 软件包,把自己加入 plugdev 用户组,然后拔插一次。用 sudo 运行一次 adb devices,就能判断是不是权限问题。
7. 重启 adb 服务
adb kill-server
adb devices8. 其他程序占用了手机
Android Studio、scrcpy、厂商电脑套件和模拟器都可能占用连接。关闭它们并重启 adb 服务。见 设备被占用或未授权的解决方法。
9. 换一个接口
使用电脑本身的 USB 接口。机箱前置接口和集线器经常出问题。部分笔记本上 USB 3 接口不行时,USB 2.0 接口反而可以。
10. 撤销授权,从头再来
在开发者选项中点击 撤销 USB 调试授权 (Revoke USB debugging authorizations),关闭再打开 USB 调试,重启手机后重新连接。
在浏览器里也遇到同样问题?
ADBKit 在 Chrome 或 Edge 中通过 WebUSB 连接,而不是使用 adb 命令。如果浏览器的设备选择框里看不到手机,原因也是一样的:数据线、USB 调试、Windows 驱动,或者其他程序占用了手机。具体步骤见 WebUSB 检测不到手机的解决方法。
如果手机出现在列表里但显示为 offline,请看 adb 设备离线 offline。