Команда 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
⚠️ Внимание: не все USB-кабели поддерживают передачу данных — некоторые предназначены только для зарядки. Если устройство заряжается, но не определяется, первым делом замените кабель на заведомо «дата-кабель».
Расшифровка вывода команды
Результат команды — таблица из двух колонок: серийный номер (или идентификатор) устройства и его статус. От статуса зависит, можно ли выполнять дальнейшие команды.
| Статус | Значение | Что делать |
|---|---|---|
device | Устройство подключено и готово к работе | Можно выполнять команды ADB |
unauthorized | Компьютер не авторизован на устройстве | Подтвердить запрос RSA-ключа на экране телефона |
offline | Соединение установлено, но не отвечает | Перезапустить adb-сервер, переподключить кабель |
no permissions | Нет прав доступа (типично для Linux) | Настроить udev-правила или запустить с нужными правами |
| пустой список | Устройства не обнаружены | Проверить кабель, драйверы, отладку по USB |
Обратите внимание: статус unauthorized почти всегда означает, что на экране смартфона висит незамеченный диалог «Разрешить отладку по USB?». Разблокируйте телефон и подтвердите запрос, при желании отметив пункт «Всегда разрешать с этого компьютера».
Устройство не отображается: порядок диагностики
Если список пуст, действуйте последовательно, от простого к сложному. Сначала проверьте физическое подключение: другой порт 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 или перезагрузка телефона.