Команда adb devices возвращает пустой список или статус unauthorized — самая частая проблема, с которой сталкиваются при первой попытке управлять смартфоном при помощи ADB. Причина почти всегда одна из трёх: не включена отладка по USB в меню разработчика, система Windows не видит устройство из-за отсутствующего драйвера, или на экране смартфона не подтверждён запрос на разрешение отладки с этого компьютера.
ADB (Android Debug Bridge) — это официальная утилита из состава Android SDK Platform Tools, которая позволяет выполнять команды на смартфоне через USB-кабель или по сети: устанавливать и удалять приложения, снимать логи, перезагружать устройство в режим восстановления и многое другое. Разберём, как всё настроить с нуля и какие команды действительно нужны на практике.
Что такое ADB и зачем он нужен
ADB работает по схеме «клиент — сервер — демон»: на компьютере запускается клиент, который через сервер взаимодействует с фоновым процессом adbd на смартфоне. Благодаря этой архитектуре одни и те же команды работают как по кабелю, так и по Wi-Fi, если устройство и компьютер находятся в одной сети.
Обычному пользователю ADB полезен в нескольких сценариях. Вам может понадобиться удалить предустановленные системные приложения без root-прав, выгрузить файлы со смартфона с разбитым экраном, установить APK-файл или собрать лог ошибки для разработчика приложения. Всё это делается без вмешательства в прошивку и не отменяет гарантию — в отличие от разблокировки загрузчика.
Для разработчиков ADB — базовый инструмент отладки: просмотр журналов через adb logcat, передача файлов, эмуляция нажатий и снятие скриншотов из командной строки.
Установка ADB на компьютер
Загрузите пакет SDK Platform Tools с официального сайта для разработчиков Android — он доступен для Windows, macOS и Linux. Установка не требуется: достаточно распаковать архив в отдельную папку, например C:\platform-tools, и запускать команды из этой директории через терминал.
На Windows дополнительно может понадобиться USB-драйвер производителя смартфона. Если устройство определяется в диспетчере устройств с восклицательным знаком, драйвер следует скачать с официального сайта производителя — универсального драйвера, подходящего всем моделям, не существует.
- 📦 Скачайте Platform Tools только с официального источника — сторонние сборки могут содержать устаревшие или изменённые файлы
- 🔌 Используйте качественный USB-кабель: «зарядочные» кабели без линий данных не подходят для ADB
- 🖥️ Проверьте установку командой
adb version— она должна вывести номер версии без ошибок - 🔄 При конфликтах старых версий удалите дубликаты
adb.exeиз других папок и переменной PATH
⚠️ Внимание: не скачивайте «установщики ADB в один клик» с непроверенных сайтов. Такие пакеты нередко содержат устаревшие версии утилиты, несовместимые с новыми версиями Android, а иногда и вредоносное ПО.
Включение отладки по USB на смартфоне
Прежде чем компьютер увидит устройство, на смартфоне нужно активировать режим разработчика. Для этого откройте настройки, найдите раздел «О телефоне» и несколько раз подряд нажмите на пункт «Номер сборки» — после нескольких нажатий система сообщит, что вы стали разработчиком. Точное расположение пункта зависит от оболочки (MIUI, One UI, ColorOS и других), поэтому при необходимости сверьтесь с инструкцией для своей модели.
После этого в настройках появится раздел «Для разработчиков», где необходимо включить переключатель Отладка по USB. При первом подключении к компьютеру на экране смартфона появится диалог с отпечатком ключа RSA — подтвердите его, при желании отметив «Всегда разрешать с этого компьютера».
☑️ Подготовка смартфона к подключению по ADB
Если диалог с разрешением не появляется, отключите и снова подключите кабель, а также проверьте, не выбран ли на смартфоне режим «Только зарядка» — в некоторых оболочках его нужно сменить на передачу файлов.
Базовые команды ADB
Начните с проверки связи: команда adb devices должна показать серийный номер устройства со статусом device. Статус unauthorized означает, что на смартфоне не подтверждён запрос, а offline — что соединение нестабильно и стоит перезапустить сервер командой adb kill-server.
adb install app.apk
adb uninstall com.example.app
adb pull /sdcard/DCIM/ C:\backup
adb push file.zip /sdcard/Download/
adb reboot
Для удаления предустановленных приложений без root используется связка из двух команд: сначала adb shell pm list packages для поиска имени пакета, затем adb shell pm uninstall -k --user 0 имя_пакета. Параметр --user 0 удаляет приложение только для текущего пользователя, не затрагивая системный раздел, — такое действие обратимо через сброс настроек или переустановку.
Типичные ошибки и их решение
Разберём ситуации, которые чаще всего мешают работе. Если adb devices выводит пустой список, последовательно проверьте: включена ли отладка, видит ли устройство диспетчер устройств Windows, цел ли кабель и порт. Замена USB-порта с разъёма на корпусе на порт материнской платы нередко решает проблему на стационарных ПК.
| Ошибка | Вероятная причина | Что проверить |
|---|---|---|
| Пустой список устройств | Нет драйвера или отключена отладка | Диспетчер устройств, настройки разработчика |
| unauthorized | Не подтверждён запрос на смартфоне | Экран устройства, отзыв разрешений отладки |
| offline | Сбой соединения или конфликт версий | adb kill-server, другой кабель |
| error: device not found | Устройство отключилось или спит | Разблокировать экран, переподключить кабель |
| more than one device | Подключено несколько устройств | Указать серийник через флаг -s |
Когда к компьютеру подключено несколько устройств или эмуляторов, команду нужно адресовать конкретному аппарату: adb -s серийный_номер команда. Серийный номер берётся из вывода adb devices.
⚠️ Внимание: команды вроде adb shell pm uninstall для системных пакетов могут нарушить работу устройства, если удалить компонент, от которого зависят другие функции. Перед удалением незнакомого пакета выясните его назначение — восстановить системное приложение без сброса настроек бывает невозможно.
ADB по Wi-Fi и дополнительные возможности
На современных версиях Android доступна беспроводная отладка — она включается в том же меню разработчика и работает через сопряжение по коду. После сопряжения устройство подключается командой adb connect IP:порт, где адрес и порт отображаются на экране смартфона. Точные шаги зависят от версии Android: на старых версиях требовалось сначала выполнить adb tcpip 5555 по кабелю.
Беспроводной режим удобен, когда устройство физически недоступно — например, это приставка или телевизор на Android TV. Учтите, что соединение работает только в пределах одной локальной сети и может разрываться при переходе смартфона в глубокий сон.
Полезные дополнительные команды
adb shell screencap -p /sdcard/screen.png — скриншот экрана; adb shell screenrecord /sdcard/video.mp4 — запись экрана; adb logcat — просмотр системного журнала; adb reboot recovery — перезагрузка в режим восстановления; adb shell dumpsys battery — информация о батарее.
Для диагностики проблем с приложениями незаменим adb logcat — он выводит системный журнал в реальном времени. Чтобы не тонуть в потоке сообщений, фильтруйте вывод по тегу или уровню важности, например adb logcat *:E покажет только ошибки.
Меры предосторожности
Хотя базовые команды ADB безопасны, инструмент даёт доступ к чувствительным функциям. Не выполняйте команды из интернет-инструкций, не понимая их назначения, — особенно это касается adb shell с правами на изменение системных настроек и команд раздела fastboot, которые относятся уже к загрузчику и могут стереть данные.
⚠️ Внимание: разблокировка загрузчика через fastboot flashing unlock приводит к полному удалению данных на устройстве и может повлиять на гарантию и работу банковских приложений. Эта операция не относится к обычной работе с ADB и требуется только для прошивки.
После завершения работы имеет смысл отключить отладку по USB, если она не нужна постоянно: открытая отладка — потенциальный вектор доступа к устройству при подключении к чужому компьютеру или зарядной станции в общественном месте.
Частые вопросы
Нужны ли root-права для работы с ADB?
Нет. Все базовые команды — установка приложений, передача файлов, логи, удаление пакетов для текущего пользователя — работают без root-доступа. Root требуется лишь для отдельных операций внутри adb shell, затрагивающих системный раздел.
Почему смартфон не определяется, хотя отладка включена?
Наиболее вероятные причины — отсутствующий USB-драйвер на Windows, кабель без линий передачи данных или неподтверждённый запрос на разрешение отладки на экране устройства. Проверяйте их именно в этом порядке.
Можно ли пользоваться ADB без компьютера?
Да, существуют приложения, реализующие ADB-терминал прямо на Android-устройстве через беспроводную отладку (сопряжение с самим собой). Это работает на современных версиях Android, но удобство и стабильность зависят от конкретной оболочки.
Удалённые через ADB приложения вернутся после обновления системы?
Такое возможно: при крупных обновлениях прошивки предустановленные пакеты иногда восстанавливаются, поскольку удаление через --user 0 не затрагивает системный раздел. В этом случае процедуру придётся повторить.
Безопасно ли оставлять отладку по USB включённой постоянно?
Для личного использования риск невелик, но открытая отладка позволяет выполнять команды при подключении к любому компьютеру, которому вы подтвердили доступ. Разумная практика — включать отладку по мере необходимости и отзывать разрешения для неиспользуемых компьютеров.