fastboot 一直显示 waiting for any device 怎么解决
fastboot 卡在 < waiting for any device >,或 fastboot devices 什么都不显示。在 Windows、macOS 和 Linux 上检查 fastboot 模式、驱动、数据线和 USB 接口。
运行 fastboot 命令后,它就一直停在这里:
< waiting for any device >或者 fastboot devices 什么也不输出。这说明 fastboot 工具找不到处于 fastboot 模式的手机。ADB 和 fastboot 是两套独立的东西,所以 adb devices 能识别的手机,fastboot 照样可能看不到。按顺序检查下面几项。
1. 手机真的进入 fastboot 模式了吗?
手机屏幕上必须显示 bootloader 或 fastboot 界面,而不是 Android 系统,也不是 recovery。最简单的进入方法是:
adb reboot bootloader也可以用各品牌的按键组合,通常是关机状态下按住 电源键 + 音量减。各品牌的按键见 fastboot 模式指南,小米另有 专门的教程。
两个容易踩的坑:
- Recovery 不是 fastboot。 如果看到的是 recovery 菜单,有 Reboot to bootloader 选项的话就选它。
- fastbootd 和 bootloader 的区别。 在 Android 10+ 的手机上,
adb reboot fastboot进入的是 fastbootd。有些命令(比如解锁)只能在 bootloader 中执行。用fastboot reboot bootloader切换过去。
2. Windows:fastboot 驱动
大多数 Windows 上的问题都出在这里。ADB 和 fastboot 使用 不同的 USB 接口,所以 ADB 驱动正常并不代表 fastboot 也正常。
- 手机处于 fastboot 模式时,打开 设备管理器。
- 找到 Android Device › Android Bootloader Interface。如果看到的是未知设备或黄色感叹号,说明缺少驱动。
- 安装 Google USB Driver(大多数手机在 fastboot 模式下都适用)或厂商驱动,然后右键该设备,依次选择 更新驱动程序、浏览我的电脑以查找驱动程序、让我从计算机上的可用驱动程序列表中选取,选择 Android Bootloader Interface。
3. 数据线和接口
- 使用数据线,最好是原装线。
- 插在电脑本身的接口上,不要用集线器或机箱前置接口。
- 在部分电脑上,尤其是 AMD 芯片组的电脑,fastboot 在 USB 3 接口上不稳定。换成 USB 2.0 接口,或者接一个便宜的 USB 2.0 集线器,往往就能解决。
4. 更新 platform-tools
旧版 fastboot 可能无法和新手机通信。从 Google 下载最新的 Android SDK platform-tools,并确认运行的是这个版本:
fastboot --version5. Linux:权限问题
如果 sudo fastboot devices 可以,而普通的 fastboot devices 不行,安装发行版的 Android udev 规则(android-sdk-platform-tools-common 或 android-udev-rules),并把自己加入 plugdev 用户组。
6. macOS
不需要驱动。如果什么都不显示,换一根线或一个接口试试,并确认没有其他工具(比如手机管理软件)占用设备。
7. 全部重启
退出 fastboot 模式,让手机重新进入 fastboot,如果在 Windows 上改动过驱动,再重启一下电脑。
ADBKit 能做什么,不能做什么
ADBKit 可以在浏览器里让手机 进入 fastboot 模式:打开屏幕旁边的电源菜单,选择 Boot modes › Bootloader / fastboot。手机进入 bootloader 后,Android 和 ADB 都不再运行,ADBKit 的连接也会断开。ADBKit 不执行 fastboot 命令,后续请使用 platform-tools 中的 fastboot 工具。
要退出 fastboot 模式,运行 fastboot reboot,或者长按电源键约 10 到 15 秒。