Команда adb devices возвращает пустой список, хотя смартфон подключен кабелем и отладка по USB включена — это самая частая ситуация, с которой начинается знакомство с ADB. Причина почти всегда в одном из трёх: не установлен драйвер, не подтверждён запрос на разрешение отладки на экране телефона или используется кабель только для зарядки без линий данных.
ADB (Android Debug Bridge) и Fastboot — два официальных инструмента Google для работы с Android-устройствами через компьютер. Первый работает, когда система загружена (или в режиме recovery с поддержкой ADB), второй — когда устройство находится в режиме загрузчика. В этом руководстве разберём базовые и продвинутые команды обеих утилит, порядок установки и типичные ошибки.
Установка ADB и Fastboot на компьютер
Оба инструмента входят в официальный пакет SDK Platform Tools, который Google распространяет бесплатно для Windows, macOS и Linux. Достаточно скачать архив, распаковать его в отдельную папку и открыть командную строку в этой директории.
Проверьте, что утилиты запускаются, выполнив команду версии:
adb version
fastboot --version
Если команда не распознаётся, терминал открыт не в папке с файлами. В Windows нужно либо перейти в каталог командой cd, либо зажать Shift, кликнуть правой кнопкой по папке и выбрать «Открыть окно PowerShell здесь».
Подготовка смартфона и проверка подключения
Для работы ADB на устройстве необходимо активировать отладку по USB. Путь к настройке стандартный: откройте «Настройки» → «О телефоне» и нажмите семь раз на пункт «Номер сборки», чтобы разблокировать режим разработчика. Затем в разделе «Для разработчиков» включите переключатель «Отладка по USB». Точные названия пунктов могут отличаться в оболочках MIUI, One UI, ColorOS — сверяйтесь с документацией своей модели.
После подключения кабелем выполните диагностику:
adb devices
На экране смартфона появится запрос «Разрешить отладку по USB?» — подтвердите его, при желании отметив «Всегда разрешать с этого компьютера». Если в списке устройство отображается со статусом unauthorized, запрос не подтверждён; если статус offline — перезапустите сервер командами adb kill-server и adb start-server.
☑️ Проверка перед работой с ADB
⚠️ Внимание: дешёвые кабели «только для зарядки» физически не содержат линий передачи данных. Если ПК вообще не видит устройство, первым делом замените кабель на фирменный или заведомо рабочий.
Основные команды ADB
ADB управляет устройством с загруженной системой. Вам доступны установка приложений, передача файлов, перезагрузка в разные режимы и просмотр системной информации. Ниже — команды, которые используются чаще всего.
- 📱
adb devices— список подключённых устройств и их статус; - 🔄
adb reboot— обычная перезагрузка;adb reboot bootloader— перезагрузка в fastboot-режим;adb reboot recovery— вход в рекавери; - 📦
adb install app.apk— установка APK-файла;adb uninstall com.package.name— удаление приложения по имени пакета; - 📂
adb push file.zip /sdcard/— копирование файла с ПК на телефон;adb pull /sdcard/file.zip— обратная передача; - 🐚
adb shell— открытие командной оболочки устройства для выполнения Linux-команд.
Имя пакета приложения узнаётся командой adb shell pm list packages — она выведет полный список. Для поиска конкретного приложения добавьте фильтр, например adb shell pm list packages | findstr chrome в Windows.
Удаление системных приложений без root
Одна из востребованных возможностей ADB — отключение предустановленных программ, которые система не даёт удалить обычным способом. Команда выполняется от имени текущего пользователя и не требует root-прав:
adb shell pm uninstall -k --user 0 com.package.name
Флаг -k сохраняет данные приложения, а --user 0 указывает, что удаление затрагивает только основного пользователя. Физически пакет остаётся в системном разделе и возвращается после сброса настроек. Вернуть приложение без сброса можно командой adb shell cmd package install-existing com.package.name.
⚠️ Внимание: удаление критических системных пакетов (лаунчер, службы телефонии, компоненты прошивки) способно привести к нестабильной работе или невозможности загрузки. Перед удалением убедитесь, что пакет действительно относится к ненужному приложению, а не к системному компоненту.
Команды Fastboot и работа с загрузчиком
Fastboot работает, когда устройство переведено в режим загрузчика — через adb reboot bootloader или комбинацию кнопок при включении (зависит от модели, уточняйте в инструкции к устройству). Проверка связи выполняется аналогично:
fastboot devices
Ключевые команды режима fastboot:
- 🔓
fastboot flashing unlock— разблокировка загрузчика (на ряде устройств командаfastboot oem unlock); - 💾
fastboot flash boot boot.img— прошивка образа в указанный раздел; - 🧹
fastboot erase cache— очистка раздела кэша; - 🔄
fastboot reboot— перезагрузка в систему; - ℹ️
fastboot getvar all— информация об устройстве и состоянии загрузчика.
Разблокировка загрузчика на большинстве устройств приводит к полному стиранию данных (factory reset) — об этом система предупреждает на экране подтверждения. Сделайте резервную копию заранее. Учтите также, что на части устройств разблокировка влияет на гарантию и работу защищённых функций вроде платёжных сервисов.
Почему fastboot не видит устройство, хотя adb видел
В режиме загрузчика Windows использует другой драйвер — Android Bootloader Interface. Откройте Диспетчер устройств: если устройство отображается с восклицательным знаком, установите драйвер вручную из пакета Google USB Driver или через средства производителя. На macOS и Linux отдельный драйвер обычно не требуется.
Сравнение ADB и Fastboot
Инструменты дополняют друг друга, но работают в разных состояниях устройства. Путаница между ними — частая причина ошибок вида «waiting for device».
| Критерий | ADB | Fastboot |
|---|---|---|
| Состояние устройства | Загруженная система или recovery | Режим загрузчика (bootloader) |
| Основное назначение | Установка приложений, файлы, логи, shell | Прошивка разделов, разблокировка |
| Проверка связи | adb devices | fastboot devices |
| Требования на устройстве | Включённая отладка по USB | Для прошивки — разблокированный загрузчик |
| Риск потери данных | Минимальный при обычных командах | Высокий при unlock и flash |
Если команда adb зависает с сообщением «waiting for device», проверьте, не находится ли устройство в режиме fastboot — и наоборот. Утилиты не подменяют друг друга: каждая видит устройство только в «своём» режиме.
Типичные ошибки и их решение
Разберём сообщения, с которыми сталкиваются чаще всего. Ошибка device unauthorized означает, что отладка не разрешена — отзовите разрешения в настройках разработчика («Отменить авторизацию отладки по USB») и подтвердите запрос заново. Ошибка more than one device появляется при нескольких подключённых устройствах — укажите нужное через adb -s SERIAL команда.
Сообщение FAILED (remote: 'Flashing Lock Flag is locked') или аналогичное при прошивке говорит о заблокированном загрузчике — сначала выполните разблокировку. Текст ошибок различается между производителями, поэтому ориентируйтесь на смысл: любое упоминание lock/locked указывает на состояние загрузчика.
⚠️ Внимание: прошивайте только образы, предназначенные именно для вашей модели и ревизии устройства. Запись чужого boot-образа или образа от другой модификации — типичная причина «окирпичивания», когда устройство перестаёт загружаться.
Часто задаваемые вопросы
Нужен ли root для работы ADB и Fastboot?
Нет. Оба инструмента работают без root-прав. ADB требует только включённой отладки по USB, fastboot — разблокированного загрузчика для команд прошивки. Root нужен лишь для отдельных операций внутри системы.
Почему adb devices показывает пустой список?
Проверьте по порядку: включена ли отладка по USB, подтверждён ли запрос на экране телефона, рабочий ли кабель (нужен с линиями данных), установлен ли драйвер на Windows. Затем перезапустите сервер: adb kill-server и adb start-server.
Стираются ли данные при разблокировке загрузчика?
На большинстве устройств — да, разблокировка выполняет полный сброс до заводских настроек. Перед выполнением fastboot flashing unlock сохраните все важные данные.
Можно ли вернуть удалённое через ADB системное приложение?
Да. Приложение удаляется только для текущего пользователя, а пакет остаётся в прошивке. Возврат выполняется командой adb shell cmd package install-existing имя_пакета или сбросом настроек.
Работают ли ADB и Fastboot на macOS и Linux?
Да, SDK Platform Tools доступны для всех трёх платформ. На macOS и Linux обычно не требуется установка отдельных драйверов — достаточно распаковать архив и запускать команды из его папки, при необходимости добавив ./ перед командой.