Команда adb devices возвращает пустой список — типичная ситуация, когда смартфон подключён кабелем, отладка по USB включена, а компьютер устройство не видит. Причина чаще всего кроется в неподтверждённом запросе на разрешение отладки на экране телефона или в отсутствующем драйвере, и именно с проверки этого момента начинается любая работа с Android Debug Bridge.
ADB — это консольная утилита из пакета Android SDK Platform Tools, которая позволяет управлять смартфоном с компьютера: устанавливать приложения, передавать файлы, снимать логи и выполнять системные операции без root-доступа. Ниже разобраны основные команды, которые покрывают большинство повседневных задач, с примерами синтаксиса и пояснениями, что именно происходит при выполнении каждой из них.
Что нужно перед началом работы с ADB
Для запуска ADB потребуется скачать архив Platform Tools с официального сайта для разработчиков Android и распаковать его в отдельную папку. Установка не нужна — достаточно открыть командную строку в этой директории. В Windows это делается через адресную строку проводника: введите cmd и нажмите Enter.
На смартфоне необходимо активировать отладку по USB. Сначала откройте «Настройки» → «О телефоне» и несколько раз нажмите на строку «Номер сборки», пока не появится сообщение о включении режима разработчика. Затем в разделе «Для разработчиков» включите переключатель Отладка по USB. Точные названия пунктов могут отличаться в зависимости от оболочки — MIUI, One UI, ColorOS — поэтому сверяйтесь с документацией своей модели.
⚠️ Внимание: при первом подключении на экране смартфона появится запрос «Разрешить отладку по USB?» с отпечатком ключа компьютера. Без подтверждения этого диалога устройство будет отображаться как unauthorized, и ни одна команда не выполнится.
☑️ Подготовка к работе с ADB
Проверка подключения и базовые команды
Первая команда, которую стоит запомнить, — adb devices. Она выводит список подключённых устройств и их состояние. Если вместо серийного номера со статусом device отображается unauthorized или пустой список, проверьте кабель (некоторые кабели поддерживают только зарядку), смените USB-порт и повторно подтвердите разрешение на экране телефона.
Управление самим сервером ADB тоже выполняется командами. Если утилита зависла или не видит устройство после переподключения, помогает перезапуск:
adb kill-server
adb start-server
Когда к компьютеру подключено несколько устройств одновременно, команда выполнится с ошибкой — ADB не поймёт, к какому аппарату обращаться. В этом случае укажите серийный номер явно: adb -s SERIAL_NUMBER команда. Серийный номер берётся из вывода adb devices.
Команды перезагрузки и режимы загрузки
ADB позволяет перезагружать смартфон в разные режимы без нажатия физических кнопок — это удобно, когда кнопки повреждены или устройство находится в неудобном месте. Основные варианты:
- 🔁
adb reboot— обычная перезагрузка устройства; - 🛠️
adb reboot recovery— загрузка в режим восстановления recovery; - ⚡
adb reboot bootloader— переход в режим fastboot для работы с загрузчиком; - 📴
adb shell reboot -p— полное выключение устройства.
Режим recovery используется для сброса настроек и установки обновлений, а fastboot — для разблокировки загрузчика и прошивки разделов. Перед любыми операциями с загрузчиком изучите инструкцию именно для вашей модели: на некоторых устройствах разблокировка приводит к удалению всех данных и может повлиять на гарантию.
Установка и удаление приложений
Установка APK-файла с компьютера выполняется одной командой:
adb install путь/к/файлу.apk
Если приложение уже установлено и нужно обновить его с сохранением данных, добавьте флаг -r. Для установки на внешний накопитель (если устройство это поддерживает) используется флаг -s. При ошибке INSTALL_FAILED внимательно прочитайте текст после двоеточия — он указывает причину: конфликт подписей, несовместимость версии Android или недостаток места.
Удаление обычного приложения: adb uninstall имя.пакета. Отдельный случай — предустановленные системные приложения, которые не удаляются штатно. Для них применяется команда отключения для текущего пользователя:
adb shell pm uninstall -k --user 0 имя.пакета
Узнать точное имя пакета поможет команда adb shell pm list packages, а с фильтром по слову — adb shell pm list packages | findstr "слово" в Windows. Чтобы вернуть отключённое системное приложение, используйте adb shell cmd package install-existing имя.пакета.
⚠️ Внимание: отключение системных компонентов может нарушить работу устройства — например, удаление приложения, отвечающего за звонки или интерфейс, приведёт к серьёзным сбоям. Отключайте только те пакеты, назначение которых вам точно известно, и записывайте их имена, чтобы при необходимости вернуть обратно.
Передача файлов между ПК и смартфоном
Команды adb push и adb pull копируют файлы в обе стороны без включения режима MTP и без снятия блокировки экрана, что удобно при повреждённом дисплее. Синтаксис прост: сначала источник, затем назначение.
adb push C:\файл.zip /sdcard/Download/
adb pull /sdcard/DCIM/Camera C:\backup\
При копировании папки указывайте путь к ней целиком — содержимое будет перенесено рекурсивно. Скорость передачи зависит от версии USB-порта и кабеля, поэтому для больших объёмов используйте разъём USB 3.0, если он есть на компьютере. Путь /sdcard/ — это стандартное обозначение внутреннего хранилища, доступного пользователю, даже если физической карты памяти в устройстве нет.
Сводная таблица основных команд ADB
| Команда | Назначение | Пример |
|---|---|---|
adb devices | Список подключённых устройств | adb devices |
adb install | Установка APK | adb install app.apk |
adb uninstall | Удаление приложения | adb uninstall com.example.app |
adb reboot | Перезагрузка в разные режимы | adb reboot recovery |
adb push / pull | Передача файлов | adb pull /sdcard/ C:\backup |
Работа с оболочкой и дополнительные возможности
Команда adb shell открывает интерактивный терминал прямо на устройстве — внутри него работают стандартные Linux-утилиты и системные команды Android. Можно выполнять и одиночные команды без входа в оболочку, например adb shell wm size покажет разрешение экрана, а adb shell dumpsys battery — сведения о состоянии аккумулятора.
Для диагностики проблем приложений полезен просмотр системного журнала: adb logcat выводит поток логов в реальном времени. Поток обширный, поэтому его обычно фильтруют по тегу или уровню важности. Чтобы остановить вывод, нажмите Ctrl+C.
Полезные команды adb shell
screencap — снимок экрана (adb shell screencap /sdcard/screen.png), screenrecord — запись видео с экрана, input tap X Y — эмуляция касания по координатам, input text — ввод текста, pm clear — очистка данных приложения без удаления.
Ещё одна практичная возможность — беспроводная отладка. На устройствах с Android 11 и новее она включается в настройках разработчика и работает через сопряжение по коду. На более старых версиях требовалось сначала подключиться кабелем и выполнить adb tcpip 5555, после чего подключаться по IP-адресу командой adb connect IP:5555. Учтите, что беспроводной режим менее стабилен и разрывает соединение при перезагрузке.
Типичные проблемы при работе с ADB
Ошибка «adb is not recognized» означает, что командная строка открыта не в папке с утилитой. Либо перейдите в каталог Platform Tools командой cd, либо добавьте путь к папке в системную переменную PATH — тогда ADB будет доступна из любого окна терминала.
Статус offline в выводе adb devices обычно указывает на конфликт версий: на компьютере могут быть установлены несколько копий ADB разной давности (например, вместе со сторонними программами для прошивки). Завершите все процессы adb.exe в диспетчере задач и запустите актуальную версию из Platform Tools. Если устройство вообще не определяется в Windows, возможной причиной является отсутствие драйвера — проверьте диспетчер устройств на предмет неопознанного оборудования.
⚠️ Внимание: не скачивайте ADB со сторонних сайтов «сборников драйверов» — используйте только официальный пакет Platform Tools от Google. Модифицированные версии утилиты могут содержать вредоносный код и получат полный доступ к вашему устройству.
Часто задаваемые вопросы
Нужен ли root-доступ для работы с ADB?
Нет, большинство команд — установка приложений, передача файлов, перезагрузка, отключение системных пакетов — работают без root. Права суперпользователя требуются только для операций с защищёнными разделами внутри adb shell.
Почему adb devices показывает unauthorized?
На смартфоне не подтверждён запрос на разрешение отладки. Отключите и снова подключите кабель, дождитесь диалога на экране и отметьте «Всегда разрешать с этого компьютера». Если диалог не появляется, отзовите разрешения в настройках разработчика и подключитесь заново.
Можно ли удалить системное приложение через ADB безвозвратно?
Команда pm uninstall --user 0 удаляет приложение только для текущего пользователя — сам пакет остаётся в системном разделе. Вернуть его можно командой cmd package install-existing или сбросом настроек.
Работает ли ADB без кабеля?
Да, на Android 11 и новее есть штатная беспроводная отладка через сопряжение по коду. На старых версиях требуется первичное кабельное подключение для активации режима tcpip.
Что делать, если команда зависает и ничего не выводит?
Прервите выполнение клавишами Ctrl+C, затем перезапустите сервер командами adb kill-server и adb start-server, переподключите устройство и проверьте его статус через adb devices.