Команда adb devices возвращает пустой список или статус unauthorized — это самая частая точка входа в работу с Android Debug Bridge, и в большинстве случаев причина кроется не в самой утилите, а в неподтверждённом запросе на отладку на экране смартфона или в отсутствующем USB-драйвере на компьютере. ADB (Android Debug Bridge) — официальный инструмент Google из состава Android SDK Platform-Tools, который позволяет управлять устройством на Android с компьютера: устанавливать приложения, снимать логи, передавать файлы и выполнять системные команды.
В этом руководстве разберём весь цикл работы: от установки инструментов и включения отладки по USB до практических команд и диагностики типовых ошибок. Материал ориентирован на Windows, но большинство команд идентичны в macOS и Linux.
Что такое ADB и как он устроен
ADB работает по клиент-серверной схеме из трёх компонентов. Клиент — это команда, которую вы вводите в терминале. Демон (adbd) — фоновый процесс на самом смартфоне, выполняющий команды. Сервер — посредник на компьютере, который связывает клиента с демоном через USB или сеть. Понимание этой схемы помогает диагностировать сбои: если завис сервер, помогает adb kill-server с последующим adb start-server.
По умолчанию сервер использует порт 5037 на компьютере. Конфликт этого порта с другими программами (например, с некоторыми менеджерами смартфонов от производителей) — одна из возможных причин, почему ADB «не видит» устройство даже при исправном кабеле.
Установка ADB на компьютер
Официальный и рекомендуемый способ — скачать архив SDK Platform-Tools с сайта Google для разработчиков (developer.android.com). Сторонние установщики вроде «Minimal ADB» часто содержат устаревшие версии, которые могут некорректно работать с новыми версиями Android.
Порядок установки на Windows:
- 📦 Распакуйте архив platform-tools в удобную папку, например
C:\platform-tools. - ➕ Добавьте эту папку в переменную окружения
Path, чтобы командаadbработала из любой директории. - 🔌 Подключите смартфон кабелем — при необходимости Windows установит драйвер автоматически, иначе потребуется драйвер от производителя устройства.
- ✅ Проверьте установку командой
adb versionв командной строке.
На macOS и Linux установка аналогична: архив распаковывается, а путь добавляется в профиль оболочки. Альтернатива — пакетные менеджеры, но версии там могут отставать от официальных.
Включение отладки по USB на смартфоне
Без активированной отладки по USB демон adbd на устройстве не примет подключение. Сначала нужно разблокировать скрытый раздел «Для разработчиков»: откройте Настройки → О телефоне и несколько раз нажмите на пункт Номер сборки до появления подтверждения. Точные названия пунктов различаются у разных производителей — на некоторых оболочках нужно тапать по версии MIUI или аналогичному полю, поэтому сверяйтесь с документацией своей модели.
После этого в разделе Система → Для разработчиков включите переключатель Отладка по USB. При первом подключении к компьютеру на экране смартфона появится запрос с отпечатком ключа RSA — подтвердите его, при желании отметив «Всегда разрешать с этого компьютера».
⚠️ Внимание: отладка по USB даёт компьютеру расширенный доступ к устройству. Не подтверждайте запрос на чужих или общедоступных ПК и отключайте отладку, если она больше не нужна.
☑️ Первое подключение по ADB
Базовые команды ADB
Начните с проверки связи. Команда ниже выводит список подключённых устройств и их состояние:
adb devices
Если в списке устройство со статусом device — можно работать. Дальнейшие команды покрывают большинство повседневных задач:
- 📲
adb install путь\к\файлу.apk— установка приложения на устройство. - 🗑️
adb uninstall com.example.app— удаление приложения по имени пакета. - 📁
adb push file.txt /sdcard/Download/— копирование файла на смартфон. - 📥
adb pull /sdcard/DCIM/ C:\backup\— выгрузка файлов на компьютер. - 🔄
adb reboot— перезагрузка устройства (варианты:adb reboot bootloader,adb reboot recovery). - 📋
adb logcat— просмотр системного журнала в реальном времени.
Для выполнения команд непосредственно в системе Android используется интерактивная оболочка:
adb shell
Внутри shell доступны стандартные Linux-утилиты и специфические команды Android, например pm list packages для вывода списка установленных пакетов. Если к компьютеру подключено несколько устройств, указывайте целевое через флаг -s с серийным номером из вывода adb devices.
ADB по Wi-Fi: работа без кабеля
Современные версии Android поддерживают беспроводную отладку: в разделе для разработчиков активируется пункт Беспроводная отладка, после чего устройство можно сопрячь по коду или QR-коду. На старых версиях Android требовалось сначала подключиться по USB и выполнить adb tcpip 5555, затем подключиться по IP-адресу:
adb connect 192.168.1.50:5555
Точный адрес устройства смотрите в настройках Wi-Fi на смартфоне. Оба устройства должны находиться в одной сети. Учтите, что после перезагрузки смартфона на старых версиях Android сетевой режим сбрасывается и процедуру придётся повторить.
Решение типовых проблем с подключением
Если устройство не отображается или команды зависают, работайте по таблице диагностики:
| Симптом | Вероятная причина | Что проверить |
|---|---|---|
| Пустой список в adb devices | Отключена отладка или нет драйвера | Настройки разработчика, диспетчер устройств Windows |
| Статус unauthorized | Не подтверждён RSA-запрос | Экран смартфона, сброс авторизаций в настройках разработчика |
| Статус offline | Завис adbd или конфликт версий | adb kill-server, обновление Platform-Tools |
| error: no devices/emulators found | Кабель только для зарядки | Заменить кабель на поддерживающий передачу данных |
| Команды выполняются медленно по Wi-Fi | Нестабильная сеть | Проверить сигнал, вернуться на USB |
Отдельно стоит сказать про кабели: значительная часть «неисправностей ADB» на практике объясняется кабелем, в котором есть только жилы питания, без линий передачи данных. Если устройство заряжается, но не определяется — первым делом замените кабель и попробуйте другой USB-порт, желательно напрямую, без хабов.
⚠️ Внимание: команды вроде adb reboot bootloader и последующая работа с fastboot могут привести к потере данных при разблокировке загрузчика. Перед любыми операциями с прошивкой сделайте резервную копию и изучите инструкцию именно для вашей модели.
Как сбросить авторизацию отладки
В разделе «Для разработчиков» есть пункт отзыва разрешений отладки по USB (название может отличаться). После его нажатия все ранее подтверждённые компьютеры забудутся, и при следующем подключении RSA-запрос появится заново. Это помогает при статусе unauthorized, который не снимается переподключением кабеля.
Полезные сценарии для практики
Помимо базовых операций, ADB закрывает задачи, недоступные через интерфейс смартфона. Через adb shell pm disable-user можно отключить предустановленные приложения без root-прав — правда, набор блокируемых пакетов зависит от производителя, а отключение системных компонентов способно нарушить работу устройства, поэтому действуйте осторожно и по одному пакету.
Для диагностики сбоев приложений полезен adb logcat с фильтрацией по тегу или уровню важности. А команда adb shell dumpsys battery показывает состояние батареи — это удобный способ проверки без установки сторонних утилит.
Часто задаваемые вопросы
Нужен ли root для работы с ADB?
Нет. Базовые функции — установка приложений, передача файлов, просмотр логов, перезагрузка — доступны без root. Права суперпользователя понадобятся только для команд, затрагивающих защищённые разделы системы.
Что означает статус unauthorized в adb devices?
Устройство обнаружено, но компьютер не авторизован для отладки. Разблокируйте смартфон и подтвердите запрос с RSA-отпечатком на его экране. Если запрос не появляется, отзовите разрешения отладки в настройках разработчика и подключите кабель заново.
Можно ли пользоваться ADB без установки Android Studio?
Да. Достаточно отдельного пакета SDK Platform-Tools — он включает adb и fastboot и не требует полной среды разработки.
Почему ADB не видит устройство на Windows, хотя на Linux всё работает?
Наиболее вероятная причина — отсутствующий или некорректный USB-драйвер. Проверьте диспетчер устройств: если смартфон отображается с восклицательным знаком, установите драйвер с сайта производителя устройства.
Безопасно ли оставлять отладку по USB включённой постоянно?
При постоянно включённой отладке любой компьютер, получивший подтверждение, получает расширенный доступ к устройству. Если ADB нужен эпизодически, разумнее отключать отладку между сессиями и не подтверждать запросы на чужих ПК.