Команда adb devices возвращает пустой список, а любая другая команда завершается сообщением error: no devices/emulators found — это означает, что утилита ADB запущена, но не видит ни одного подключённого Android-устройства или эмулятора. Проблема почти всегда находится на одном из трёх уровней: физическое подключение, настройки смартфона или драйверы на компьютере.
Ниже разберём пошаговую диагностику — от простых проверок к более глубоким. Порядок важен: не стоит сразу переустанавливать драйверы, если причина в неподтверждённом запросе отладки на экране телефона.
Что означает ошибка и как работает ADB
Android Debug Bridge — это клиент-серверная утилита. Команда на ПК обращается к фоновому процессу adb-сервера, который, в свою очередь, ищет подключённые устройства с активным демоном adbd. Если хотя бы одно звено цепочки разорвано, сервер возвращает пустой список, и вы видите ошибку no devices/emulators found.
Типичные точки сбоя:
- 🔌 Кабель заряжает телефон, но не передаёт данные — частая ситуация с дешёвыми или повреждёнными USB-кабелями.
- 📱 На смартфоне выключена отладка по USB в меню разработчика.
- 🔐 На экране устройства висит неподтверждённый запрос «Разрешить отладку по USB?».
- 💻 На ПК отсутствует или некорректно работает драйвер ADB-интерфейса.
- ⚙️ Завис adb-сервер — помогает его перезапуск.
Шаг 1. Проверка кабеля, порта и режима подключения
Начните с физического уровня — это исключает самые банальные причины. Подключите устройство другим кабелем, желательно оригинальным или заведомо «дата-кабелем», и в другой USB-порт компьютера. На ПК с Windows предпочтительны порты непосредственно на материнской плате, а не на передней панели корпуса или хабе.
После подключения разблокируйте смартфон и посмотрите на шторку уведомлений. На многих устройствах по умолчанию выбран режим «Только зарядка». Откройте уведомление о USB-подключении и переключите режим на Передача файлов (MTP) — при таком режиме ADB-интерфейс обычно определяется корректно.
⚠️ Внимание: не используйте USB-хабы без внешнего питания и переходники сомнительного качества. Нестабильное питание порта может приводить к тому, что устройство то появляется, то исчезает из списка adb devices.
Шаг 2. Включение отладки по USB на смартфоне
Без активной отладки по USB демон adbd на устройстве просто не запускается. Общий порядок такой: откройте Настройки → О телефоне и несколько раз нажмите на пункт «Номер сборки», пока не появится сообщение о том, что вы стали разработчиком. Затем в разделе Система → Для разработчиков (точный путь зависит от оболочки и версии Android) включите переключатель Отладка по USB.
После включения переподключите кабель. На экране устройства должен появиться диалог «Разрешить отладку по USB?» с отпечатком ключа компьютера. Отметьте галочку «Всегда разрешать с этого компьютера» и подтвердите. Если диалог не появляется — отзовите старые авторизации через пункт «Отозвать авторизацию для отладки по USB» в том же меню и подключите устройство заново.
☑️ Базовая проверка подключения ADB
Шаг 3. Перезапуск adb-сервера
Иногда устройство настроено правильно, но завис сам сервер на стороне ПК. Выполните последовательно две команды в терминале:
adb kill-server
adb start-server
adb devices
После перезапуска снова посмотрите на экран смартфона: если раньше вы не подтверждали авторизацию, диалог появится именно сейчас. Устройство в списке должно отображаться со статусом device. Статус unauthorized означает, что авторизация не подтверждена, а offline — что связь есть, но нестабильна: помогает переподключение кабеля или смена порта.
Шаг 4. Драйверы на Windows
На Windows устройство должно отображаться в Диспетчере устройств без предупреждающих значков. Подключите телефон, откройте диспетчер и поищите устройство с жёлтым восклицательным знаком — часто оно называется Android, ADB Interface или просто отображается в разделе «Другие устройства». Обновите драйвер вручную, указав Google USB Driver (устанавливается через SDK Manager в составе Android SDK) либо драйвер от производителя смартфона.
На Linux драйверы не нужны, но могут потребоваться правила udev, разрешающие доступ к USB-устройству обычному пользователю. Без них adb devices показывает пустой список или строку no permissions. На macOS дополнительная настройка обычно не требуется — достаточно установленных platform-tools.
⚠️ Внимание: скачивайте platform-tools и USB-драйверы только с официального сайта Android Developers. Сторонние «сборники драйверов» нередко содержат устаревшие версии ADB, несовместимые с новыми версиями Android.
Сравнение типичных причин и способов устранения
| Симптом | Вероятная причина | Что делать |
|---|---|---|
| Телефон не виден даже в системе | Кабель без линий данных, неисправный порт | Заменить кабель, сменить USB-порт |
| adb devices — пустой список | Отключена отладка по USB | Включить отладку в меню разработчика |
| Статус unauthorized | Не подтверждён запрос авторизации | Подтвердить диалог на телефоне, отозвать старые ключи |
| Статус offline | Нестабильное соединение или старый ADB | Переподключить, обновить platform-tools |
| Устройство с восклицательным знаком в Windows | Отсутствует драйвер ADB-интерфейса | Установить Google USB Driver или драйвер вендора |
Если ошибка возникает с эмулятором
Формулировка ошибки упоминает и эмуляторы: ADB не нашёл ни физических устройств, ни запущенных виртуальных. Если вы работаете с эмулятором из Android Studio, убедитесь, что виртуальное устройство действительно запущено через Device Manager, а не только создано. Загрузка эмулятора занимает время — в первые секунды после старта adb devices может показывать пустой список или статус offline.
Конфликт версий — ещё один источник проблемы: если в системе установлено несколько копий adb.exe (например, одна идёт с Android Studio, другая — со сторонней утилитой), сервер может запускаться из устаревшей версии. Проверьте версию командой adb version и оставьте в переменной PATH один актуальный путь к platform-tools.
Как проверить, какой adb запускается
В Windows выполните в терминале команду where adb — она покажет все найденные копии утилиты в порядке приоритета PATH. На Linux и macOS аналогичную роль выполняет which -a adb. Удалите лишние копии или поправьте порядок каталогов в переменной окружения PATH, чтобы первой шла актуальная версия platform-tools.
Дополнительные меры, если ничего не помогло
Когда стандартные шаги исчерпаны, остаются менее очевидные варианты. Перезагрузите и смартфон, и компьютер — это сбрасывает состояние USB-стека на обеих сторонах. Проверьте, не блокирует ли антивирус или корпоративная политика безопасности работу adb-сервера и доступ к USB. На некоторых устройствах помогает смена конфигурации USB по умолчанию в меню разработчика на MTP или PTP.
Также можно проверить подключение по сети, если устройство и ПК находятся в одной Wi-Fi-сети: на современных версиях Android в меню разработчика доступна беспроводная отладка с сопряжением по коду. Это обходной путь, позволяющий работать даже при проблемах с USB-контроллером.
Часто задаваемые вопросы
Почему adb devices показывает пустой список, хотя телефон заряжается?
Зарядка работает по линиям питания, а данные передаются по отдельным линиям кабеля. Если кабель «только для зарядки» или повреждён, питание идёт, а данных нет. Замените кабель и проверьте режим USB на телефоне.
Что означает статус unauthorized в списке устройств?
Устройство обнаружено, но компьютер не авторизован. Разблокируйте смартфон и подтвердите диалог «Разрешить отладку по USB?». Если диалог не появляется — отзовите авторизации в меню разработчика и переподключите кабель.
Нужны ли root-права для работы ADB?
Нет. Отладка по USB работает на стоковых устройствах без root. Достаточно включить меню разработчика и активировать соответствующий переключатель.
ADB видел устройство, а после обновления системы перестал. Что делать?
Обновление Android могло сбросить настройки разработчика и авторизации. Проверьте, включена ли отладка по USB, отзовите старые ключи и подтвердите авторизацию заново. Также имеет смысл обновить platform-tools на компьютере.
Можно ли использовать ADB без кабеля?
Да, если устройство и ПК находятся в одной сети. На современных версиях Android доступна беспроводная отладка через меню разработчика — сопряжение выполняется по коду или QR-коду, после чего подключение осуществляется командой adb connect.