Работа с ADB: полное руководство по настройке и командам

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

ADB (Android Debug Bridge) — официальная утилита из состава Android SDK Platform Tools, которая позволяет управлять Android-устройством с компьютера: устанавливать приложения, копировать файлы, снимать логи, перезагружать устройство в recovery. Инструмент одинаково нужен и разработчику, и обычному пользователю, который хочет удалить предустановленные приложения или сделать бэкап.

Что такое ADB и как он устроен

ADB работает по клиент-серверной архитектуре и состоит из трёх компонентов. Клиент — это команда, которую вы вводите в терминале. Сервер — фоновый процесс на компьютере, который управляет подключениями. Демон (adbd) — служба на самом смартфоне, которая выполняет пришедшие команды.

Связь возможна двумя способами: по USB-кабелю и по сети Wi-Fi (TCP/IP). Первый способ надёжнее и не требует настройки, второй удобен, когда устройство физически недоступно или порт занят. На современных версиях Android доступна беспроводная отладка через «Параметры разработчика» без предварительного подключения кабелем.

Установка ADB на компьютер

Скачайте архив SDK Platform Tools с официального сайта для разработчиков Android — он доступен для Windows, macOS и Linux. Распакуйте его в папку с простым путём без кириллицы и пробелов, например C:\platform-tools. Это весь «процесс установки»: утилита портативная и не требует инсталлятора.

Чтобы не прописывать полный путь к adb.exe при каждом запуске, откройте терминал прямо в папке с утилитой. В Windows это делается через адресную строку проводника: введите cmd и нажмите Enter. Альтернатива — добавить папку в системную переменную PATH, тогда команда будет работать из любого каталога.

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

На устройстве нужно активировать два пункта. Сначала откройте «Настройки → О телефоне» и семь раз нажмите на строку Номер сборки — появится сообщение «Вы стали разработчиком». Затем в разделе «Для разработчиков» (точное расположение зависит от оболочки: у Xiaomi, Samsung и других производителей пункт может находиться в разных подменю) включите «Отладка по USB».

При первом подключении к компьютеру на экране смартфона появится запрос «Разрешить отладку по USB?» с отпечатком RSA-ключа — обязательно подтвердите его и при желании отметьте «Всегда разрешать с этого компьютера». Без этого подтверждения устройство в списке ADB будет отображаться со статусом unauthorized.

☑️ Подготовка смартфона к работе с ADB

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

Базовые команды ADB

Начните с проверки связи. Команда ниже покажет все подключённые устройства и их статус:

adb devices

Если в списке появилась строка с серийным номером и статусом device — всё настроено правильно. Дальше можно работать с основными командами:

  • 📦 adb install app.apk — установка APK-файла на устройство
  • 🗑️ adb uninstall com.example.app — удаление приложения по имени пакета
  • 📁 adb push file.txt /sdcard/ — копирование файла с ПК на смартфон
  • 📥 adb pull /sdcard/DCIM/ ./ — скачивание файлов со смартфона на ПК
  • 🔄 adb reboot — перезагрузка устройства (варианты: adb reboot recovery, adb reboot bootloader)
  • 📋 adb logcat — просмотр системного журнала в реальном времени

Отдельно стоит упомянуть adb shell — она открывает командную оболочку прямо на устройстве. Через неё выполняют команды вроде pm list packages (список установленных пакетов) или pm disable-user для отключения системных приложений без root. Действуйте осторожно: отключение критичных системных компонентов может нарушить работу устройства.

📊 Для чего вы используете ADB чаще всего?
Установка и удаление приложений
Передача файлов
Снятие логов и отладка
Прошивка и recovery

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

Разберём статусы, которые возвращает adb devices, и сопутствующие проблемы:

СимптомВероятная причинаЧто делать
Список устройств пустНет драйвера, кабель только для зарядки, отладка выключенаПроверить кабель, включить отладку, установить драйвер
Статус unauthorizedНе подтверждён запрос RSA на смартфонеОтозвать разрешения в настройках разработчика и подключить заново
Статус offlineЗавис ADB-сервер или конфликт версийВыполнить adb kill-server, затем adb start-server
error: more than one deviceПодключено несколько устройств или эмуляторовУказать цель: adb -s <серийный номер> команда
Устройство пропадает при перезагрузкеСброс авторизации или нестабильный порт USBСменить порт на USB напрямую, без хаба

Универсальное действие при любом «зависании» — перезапуск сервера. Выполните последовательно:

adb kill-server

adb start-server

⚠️ Внимание: не устанавливайте драйверы ADB из сторонних «сборников драйверов» — используйте драйвер от производителя смартфона (например, для устройств Google это Google USB Driver) или стандартный драйвер Windows, который подтягивается автоматически.

ADB по Wi-Fi: беспроводное подключение

На Android 11 и новее беспроводная отладка включается штатно: в «Параметрах разработчика» выберите Беспроводная отладка и подключитесь по коду сопряжения:

adb pair IP-адрес:порт

adb connect IP-адрес:порт

На старых версиях Android требовалось сначала подключить устройство кабелем и выполнить adb tcpip 5555, после чего подключаться по сети. Учтите, что оба устройства должны находиться в одной Wi-Fi сети, а после перезагрузки смартфона настройку на старых версиях приходится повторять.

Почему беспроводной ADB отключается сам

Многие прошивки разрывают ADB-соединение по сети при переходе смартфона в глубокий сон или при смене точки Wi-Fi. Это нормальное поведение, а не неисправность. Просто выполните adb connect заново. Если соединение рвётся постоянно, проверьте, не блокирует ли роутер изоляцию клиентов (AP isolation) — при включённой изоляции устройства в сети не видят друг друга.

Безопасность при работе с ADB

Отладка по USB — это полноценный канал управления устройством. Любой компьютер, которому вы подтвердили RSA-ключ, получает доступ к установке приложений, чтению файлов и выполнению команд. Поэтому держать отладку постоянно включённой без необходимости не стоит.

  • 🔒 После завершения работы выключайте отладку по USB в настройках разработчика
  • 🚫 Никогда не подтверждайте запрос RSA на чужом или публичном компьютере
  • 🧹 Периодически используйте пункт «Отозвать разрешения на отладку по USB», если подключались к разным ПК
  • ⚡ Не выполняйте команды adb shell pm disable для системных пакетов, назначение которых вам неизвестно
⚠️ Внимание: команды вроде adb reboot bootloader и последующие действия в fastboot могут привести к потере данных при разблокировке загрузчика — на большинстве устройств она сопровождается полным сбросом. Перед любыми операциями с загрузчиком сделайте резервную копию важных данных.

Часто задаваемые вопросы

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

Нет. Большинство команд ADB работают без root-прав: установка приложений, передача файлов, логи, отключение пакетов. Root требуется лишь для отдельных операций внутри adb shell, затрагивающих защищённые разделы системы.

Что делать, если adb devices показывает unauthorized?

Разблокируйте смартфон — на экране должен быть запрос на разрешение отладки. Если его нет, отключите и включите отладку по USB заново, отзовите прежние разрешения в настройках разработчика и переподключите кабель. Также помогает перезапуск сервера командой adb kill-server.

Можно ли пользоваться ADB без установки Android Studio?

Да. Достаточно скачать отдельный пакет SDK Platform Tools — он содержит adb и fastboot и не требует ни Android Studio, ни полного SDK. Именно этот вариант подходит большинству пользователей.

Почему Windows не видит смартфон в ADB, хотя файлы передаются?

Передача файлов работает в режиме MTP, а ADB требует отдельного интерфейса и драйвера. Проверьте в диспетчере устройств, нет ли устройства с восклицательным знаком, установите драйвер от производителя смартфона и убедитесь, что отладка по USB включена.

Как узнать имя пакета приложения для удаления через ADB?

Выполните adb shell pm list packages — команда выведет полный список. Для фильтрации добавьте фрагмент названия: adb shell pm list packages | findstr "название" в Windows или grep в macOS и Linux.