ADB devices: как вывести список устройств и исправить ошибки подключения

Команда adb devices выводит пустой список, хотя смартфон подключён кабелем к компьютеру — чаще всего причина в отключённой отладке по USB, отсутствующем драйвере или неподтверждённом запросе авторизации на экране телефона. Именно с проверки этих трёх пунктов и начинается диагностика.

Утилита ADB (Android Debug Bridge) входит в состав Android SDK Platform-Tools и служит мостом между компьютером и Android-устройством. Команда adb devices — первый шаг любой работы через ADB: она показывает, какие устройства видит сервер отладки и в каком они состоянии. Ниже разберём, как правильно вызвать команду, расшифруем статусы и рассмотрим типовые сбои.

Установка ADB и первый запуск

Для работы потребуется пакет Platform-Tools, который Google распространяет отдельно от полной Android Studio. Архив распаковывается в любую папку, после чего терминал (командная строка, PowerShell или эмулятор терминала в Linux и macOS) открывается именно в этом каталоге. Установка в системном смысле не требуется — утилита запускается напрямую из папки.

Базовый вызов выглядит так:

adb devices

При первом запуске ADB автоматически поднимает фоновый сервер, который обрабатывает соединения с устройствами. Вам не нужно запускать его вручную, но полезно знать команды управления: adb start-server и adb kill-server. Перезапуск сервера — один из универсальных способов сбросить «зависшее» состояние подключения.

Включение отладки по USB на смартфоне

Без активной отладки устройство не появится в списке в принципе. Сначала включается режим разработчика: в настройках телефона откройте раздел «О телефоне» и несколько раз подряд нажмите на пункт Номер сборки до появления уведомления о том, что вы стали разработчиком. Точное название пункта может отличаться в зависимости от оболочки — сверьтесь с инструкцией вашей модели.

Затем в появившемся разделе «Для разработчиков» активируйте переключатель Отладка по USB. После этого подключите смартфон кабелем к компьютеру и повторно выполните adb devices.

☑️ Подготовка устройства к работе с ADB

Выполнено: 0 / 5
⚠️ Внимание: не все USB-кабели поддерживают передачу данных — некоторые предназначены только для зарядки. Если устройство заряжается, но не определяется, первым делом замените кабель на заведомо «дата-кабель».

Расшифровка вывода команды

Результат команды — таблица из двух колонок: серийный номер (или идентификатор) устройства и его статус. От статуса зависит, можно ли выполнять дальнейшие команды.

СтатусЗначениеЧто делать
deviceУстройство подключено и готово к работеМожно выполнять команды ADB
unauthorizedКомпьютер не авторизован на устройствеПодтвердить запрос RSA-ключа на экране телефона
offlineСоединение установлено, но не отвечаетПерезапустить adb-сервер, переподключить кабель
no permissionsНет прав доступа (типично для Linux)Настроить udev-правила или запустить с нужными правами
пустой списокУстройства не обнаруженыПроверить кабель, драйверы, отладку по USB

Обратите внимание: статус unauthorized почти всегда означает, что на экране смартфона висит незамеченный диалог «Разрешить отладку по USB?». Разблокируйте телефон и подтвердите запрос, при желании отметив пункт «Всегда разрешать с этого компьютера».

📊 С какой проблемой вы столкнулись при выполнении adb devices?
Список устройств пуст
Статус unauthorized
Статус offline
Всё работает корректно

Устройство не отображается: порядок диагностики

Если список пуст, действуйте последовательно, от простого к сложному. Сначала проверьте физическое подключение: другой порт USB (желательно напрямую, без хабов), другой кабель, отсутствие повреждений разъёма. Затем убедитесь, что отладка по USB действительно включена — после обновления прошивки она иногда сбрасывается.

На Windows частая причина — отсутствие или некорректная установка драйвера. Откройте Диспетчер устройств: если смартфон отображается с восклицательным знаком или как неизвестное устройство, драйвер нужно установить или обновить. Для многих моделей подходит универсальный Google USB Driver из состава SDK, но отдельные производители распространяют собственные драйверы — их стоит брать с официального сайта вендора.

  • 🔌 Смените USB-порт и кабель, избегайте переходников и хабов
  • 🛠️ Проверьте состояние устройства в Диспетчере устройств Windows
  • 🔄 Выполните adb kill-server, затем снова adb devices
  • 📱 Отзовите авторизации отладки в настройках разработчика и подтвердите запрос заново
  • 🔐 На Linux проверьте права доступа и правила udev для вашего устройства
Как сбросить авторизацию ADB на телефоне

В разделе «Для разработчиков» найдите пункт «Отозвать авторизацию отладки по USB» (название может отличаться в зависимости от оболочки). После отзыва отключите и снова подключите кабель — на экране появится свежий запрос доверия, который нужно подтвердить.

Работа с несколькими устройствами и по Wi-Fi

Когда к компьютеру подключено несколько устройств, большинство команд ADB потребуют явного указания цели. Серийный номер берётся из вывода adb devices, а команда формируется с флагом -s:

adb -s SERIAL_NUMBER shell

Начиная с Android 11, доступна беспроводная отладка без предварительного USB-подключения — через сопряжение по коду в настройках разработчика. На более ранних версиях подключение по сети традиционно настраивалось через команду adb tcpip при подключённом кабеле с последующим adb connect по IP-адресу. Конкретная процедура зависит от версии Android на устройстве, поэтому сверяйтесь с документацией под вашу версию.

⚠️ Внимание: беспроводная отладка работает только в пределах одной сети и потенциально открывает порт отладки для других участников сети. Не включайте её в публичных Wi-Fi и отключайте после завершения работы.

Типичные ошибки и их решение

Статус offline обычно указывает на рассинхронизацию между adb-сервером и устройством — например, если версия ADB заметно старше системы телефона. Обновите Platform-Tools до актуальной версии, перезапустите сервер и переподключите устройство. Помогает и банальная перезагрузка смартфона.

Ошибка no permissions в Linux означает, что у текущего пользователя нет доступа к USB-устройству. Корректное решение — создать правило udev с идентификатором вендора вашего устройства, а не запускать ADB постоянно от root. Идентификатор вендора можно посмотреть в выводе команды lsusb.

  • ⚙️ Устаревшая версия ADB — скачайте свежий пакет Platform-Tools
  • 🔁 Зависший сервер — adb kill-server и повторный запуск
  • 🖥️ Конфликт с другими программами — некоторые утилиты (например, менеджеры смартфонов от производителей) занимают adb-порт; закройте их
  • 🔋 Режим USB-подключения — на части устройств выберите на телефоне режим передачи файлов (MTP), а не «только зарядка»

FAQ: частые вопросы

Почему adb devices показывает пустой список, хотя телефон заряжается?

Зарядка работает и по кабелю без линий передачи данных. Проверьте кабель, включённую отладку по USB и наличие драйвера в системе — это три самые частые причины.

Что означает статус unauthorized и как его убрать?

Компьютер не авторизован на устройстве. Разблокируйте смартфон и подтвердите диалог «Разрешить отладку по USB?». Если диалог не появляется, отзовите авторизации в настройках разработчика и переподключите кабель.

Нужен ли root для работы adb devices?

Нет. Команда и базовые функции ADB работают на любых устройствах без root-доступа — достаточно включённой отладки по USB.

Можно ли использовать ADB без USB-кабеля?

Да. На Android 11 и новее есть штатная беспроводная отладка с сопряжением по коду. На более ранних версиях сетевое подключение настраивается через предварительное USB-подключение и команду adb connect.

Чем unauthorized отличается от offline?

Unauthorized — устройство ждёт подтверждения доверия на экране. Offline — соединение формально есть, но устройство не отвечает: обычно помогает перезапуск adb-сервера, обновление Platform-Tools или перезагрузка телефона.