Команда adb devices возвращает пустой список или статус «unauthorized» — именно с этой проверки стоит начать любую работу с ADB, потому что без корректного подключения остальные команды выполняться не будут. Ошибка чаще всего связана не с самой командой, а с отключенной отладкой по USB, отсутствующим драйвером или неподтверждённым запросом на разрешение отладки на экране смартфона.
В этой статье разберём полный цикл: от установки Android SDK Platform-Tools до выполнения первых команд и диагностики типичных сбоев. Материал подходит для Windows, но общие принципы одинаковы и для Linux с macOS — отличается только способ установки пакета.
Что такое ADB и зачем он нужен
ADB (Android Debug Bridge) — это консольная утилита из состава инструментов разработчика Android, которая позволяет управлять смартфоном или планшетом с компьютера. Через неё устанавливают приложения, снимают логи, удаляют системные компоненты (без root — с ограничениями), перезагружают устройство в recovery или fastboot и выполняют множество других операций.
Работает связка по схеме «клиент — сервер — демон»: команда вводится на компьютере, сервер ADB передаёт её на устройство, где фоновый процесс adbd её исполняет. Подключение возможно по USB-кабелю или по сети Wi-Fi (на новых версиях Android — через беспроводную отладку).
Важно понимать: ADB не требует root-прав, но и не даёт их. Команды выполняются с привилегиями пользователя shell, поэтому часть действий над системными приложениями ограничена политикой производителя и версией прошивки.
Установка ADB на компьютер
Официальный и самый надёжный способ — скачать архив SDK Platform-Tools с сайта Google для разработчиков Android. Архив не требует установки: достаточно распаковать его в удобную папку, например C:\platform-tools, и работать оттуда.
После распаковки убедитесь, что в папке присутствуют файлы adb.exe, fastboot.exe и сопутствующие библиотеки. Сторонние «установщики ADB в один клик» лучше не использовать — они нередко содержат устаревшие версии, несовместимые с новыми прошивками.
Для проверки установки откройте командную строку в папке с утилитой: зажмите Shift, кликните правой кнопкой по пустому месту в папке и выберите «Открыть окно PowerShell здесь» или «Открыть в Терминале». Затем выполните:
adb version
Если в ответ выводится номер версии Android Debug Bridge — утилита готова к работе. Если система сообщает, что команда не найдена, проверьте, что терминал открыт именно в папке с adb.exe, либо что путь добавлен в PATH корректно.
Включение отладки по USB на смартфоне
Без активированной отладки по USB компьютер не увидит устройство как ADB-клиента. Сначала нужно разблокировать скрытый раздел «Для разработчиков»: откройте Настройки → О телефоне и несколько раз подряд нажмите на пункт «Номер сборки», пока не появится подтверждение. Точное название пункта и его расположение зависят от оболочки — у Xiaomi, Samsung, Pixel путь может отличаться, поэтому сверяйтесь с документацией своей модели.
Затем перейдите в появившийся раздел Для разработчиков (обычно внутри «Система» или «Расширенные настройки») и включите переключатель Отладка по USB. На некоторых прошивках есть дополнительные опции вроде «Установка через USB» — их включайте только при необходимости.
☑️ Подготовка устройства к ADB
⚠️ Внимание: кабель «только для зарядки» — частая скрытая причина неработающего ADB. Если устройство заряжается, но в списке adb devices не появляется, первым делом замените кабель на заведомо поддерживающий передачу данных.
Первое подключение и проверка связи
Подключите смартфон кабелем к компьютеру и разблокируйте экран. При первом соединении на телефоне появится диалог «Разрешить отладку по USB?» с отпечатком ключа компьютера — отметьте «Всегда разрешать с этого компьютера» и подтвердите. Если диалог не появился, отключите и заново подключите кабель, а также проверьте, что отладка включена.
Теперь выполните проверочную команду:
adb devices
Нормальный результат — строка с серийным номером устройства и статусом device. Статус unauthorized означает, что разрешение на телефоне не подтверждено. Пустой список указывает на проблему с кабелем, драйвером или отключенной отладкой.
- 🔌 device — подключение установлено, можно выполнять команды.
- 🔒 unauthorized — подтвердите запрос на экране смартфона или отзовите разрешения в настройках разработчика и подключите заново.
- 🚫 offline — часто помогает перезапуск сервера:
adb kill-server, затемadb start-server. - ❓ пустой список — проверьте кабель, порт USB, драйвер и факт включения отладки.
⚠️ Внимание: на Windows для некоторых устройств требуется отдельный USB-драйвер производителя (например, для смартфонов Samsung или Xiaomi). Если телефон определяется в диспетчере устройств с ошибкой, установите драйвер с официального сайта производителя — универсальный драйвер Google подходит не всем моделям.
Выполнение основных команд ADB
Когда устройство отображается со статусом device, можно выполнять рабочие команды. Синтаксис одинаков: adb, затем действие и параметры. Ниже — набор команд, которые чаще всего нужны на практике.
adb install app.apk
adb uninstall com.example.app
adb reboot
adb reboot recovery
adb shell
adb push file.txt /sdcard/Download/
adb pull /sdcard/DCIM/ ./photos/
Команда adb shell открывает интерактивную консоль прямо на устройстве — внутри неё работают многие стандартные команды Linux и специфичные команды Android вроде pm (менеджер пакетов) и am (менеджер активностей). Например, pm list packages покажет список установленных пакетов.
Если к компьютеру подключено несколько устройств одновременно, указывайте целевое явно через флаг -s с серийным номером из вывода adb devices: adb -s XXXXXX shell. Иначе утилита вернёт ошибку «more than one device».
| Команда | Назначение | Пример результата |
|---|---|---|
adb devices | Список подключённых устройств | Серийный номер и статус |
adb install | Установка APK-файла | Сообщение «Success» |
adb shell | Консоль на устройстве | Приглашение командной строки |
adb logcat | Просмотр системных логов | Поток сообщений системы |
adb reboot | Перезагрузка устройства | Телефон уходит в перезагрузку |
ADB по Wi-Fi без кабеля
На Android 11 и новее доступна беспроводная отладка: в разделе «Для разработчиков» включите пункт Беспроводная отладка, затем выберите сопряжение по коду. На компьютере выполняется команда adb pair с указанием адреса и порта, которые показывает телефон, после чего устройство подключается через adb connect.
adb pair 192.168.1.50:37000
adb connect 192.168.1.50:43000
Точные адрес и порт каждый раз генерируются телефоном и отображаются на его экране — указанные выше значения являются лишь примером формата. Оба устройства должны находиться в одной сети Wi-Fi. На старых версиях Android беспроводной режим активируется иначе (через adb tcpip при подключённом кабеле), и этот способ менее стабилен.
Почему беспроводная отладка отключается сама
На многих прошивках беспроводная отладка автоматически деактивируется при смене сети Wi-Fi, перезагрузке телефона или длительном простое. Это штатное поведение, а не сбой — просто включите её заново и выполните adb connect повторно.
Типичные ошибки и их решение
Разберём сбои, с которыми чаще всего сталкиваются при выполнении ADB-команд. Большинство из них устраняется без переустановки чего-либо — достаточно правильной последовательности проверок.
- 🛠️ «adb is not recognized» — терминал открыт не в папке с утилитой либо путь не добавлен в PATH.
- 🔄 «device offline» — перезапустите сервер командами
adb kill-serverиadb start-server, переподключите кабель. - 🔐 «unauthorized» — в настройках разработчика выберите «Отозвать разрешения на отладку по USB» и подтвердите запрос заново.
- 📱 «no devices found» — проверьте кабель, другой USB-порт, драйвер и состояние переключателя отладки.
- ⛔ «permission denied» в shell — команда требует прав, которых нет у пользователя shell; без root такое ограничение не обходится.
Если ничего не помогает, последовательно проверьте: работает ли устройство с другим компьютером, видит ли его этот же компьютер с другим кабелем, сохраняется ли проблема после перезагрузки обоих устройств. Такой метод исключения быстро локализует источник — кабель, порт, драйвер или настройки телефона.
⚠️ Внимание: команды вроде adb shell pm uninstall для системных приложений могут нарушить работу прошивки, если удалить компонент, от которого зависят другие функции. Перед удалением любого системного пакета убедитесь в его назначении и сделайте резервную копию важных данных.
Меры безопасности при работе с ADB
Отладка по USB — мощный инструмент, и оставлять её постоянно включённой не стоит. Через активную отладку при физическом доступе к разблокированному устройству можно извлечь данные или установить ПО. После завершения работы выключайте переключатель отладки в настройках разработчика.
Также отзывайте авторизацию компьютеров, которым больше не доверяете: пункт Отозвать разрешения на отладку по USB сбрасывает все ранее подтверждённые ключи. Скачивайте Platform-Tools только с официального сайта Google — модифицированные сборки утилиты встречаются на сторонних ресурсах и могут быть небезопасны.
Частые вопросы
Нужны ли root-права для выполнения ADB команд?
Нет. Большинство команд — установка приложений, перезагрузка, передача файлов, чтение логов — работают без root. Root требуется только для отдельных операций внутри adb shell, затрагивающих защищённые разделы системы.
Почему adb devices показывает пустой список?
Наиболее вероятные причины: отключена отладка по USB, кабель не передаёт данные, не установлен драйвер устройства на Windows или не подтверждён запрос на разрешение отладки на экране телефона. Проверяйте эти пункты по очереди.
Можно ли выполнять ADB команды без компьютера?
На Android 11 и новее существуют приложения, использующие беспроводную отладку локально на самом устройстве (например, локальный shell через сопряжение с самим собой). Это работает, но требует повторной активации после каждой перезагрузки и зависит от версии прошивки.
Чем ADB отличается от Fastboot?
ADB работает, когда устройство загружено в систему (или recovery с поддержкой ADB). Fastboot — отдельный режим низкоуровневой прошивки, который запускается до загрузки ОС и используется для работы с разделами. Это разные протоколы, хотя утилиты распространяются в одном пакете Platform-Tools.
Сбросится ли гарантия при использовании ADB?
Сами по себе команды ADB не меняют прошивку и не разблокируют загрузчик, поэтому гарантийные обязательства они не затрагивают. Однако разблокировка загрузчика и последующая прошивка — уже другая процедура со своими последствиями, которые зависят от политики конкретного производителя.