Команда adb devices возвращает пустой список или статус unauthorized — это самая частая ситуация, с которой сталкиваются при первом подключении смартфона к Android Studio. Причина почти всегда в одном из трёх: не включена отладка по USB на телефоне, отсутствует драйвер на ПК или не подтверждён запрос на разрешение отладки на экране устройства.
ADB (Android Debug Bridge) — это консольная утилита, через которую компьютер обменивается командами с Android-устройством: устанавливает APK, читает логи, передаёт файлы и перезагружает систему. Без неё невозможна ни отладка приложений в Android Studio, ни прошивка, ни снятие логов при диагностике. Разберём, как установить и настроить ADB, какие команды использовать и что делать при типичных ошибках.
Что такое ADB и зачем он нужен в Android Studio
ADB работает по клиент-серверной схеме. На компьютере запускается ADB-сервер, который принимает команды от клиента (терминала или Android Studio) и передаёт их демону adbd на устройстве. Связь идёт через USB-кабель или по сети Wi-Fi.
Через ADB разработчик может делать то, что недоступно через обычный интерфейс телефона:
- 🔧 устанавливать и удалять приложения без Google Play;
- 📋 читать системные логи через
logcatв реальном времени; - 📁 копировать файлы на устройство и обратно;
- 🐚 открывать shell и выполнять команды Linux внутри Android;
- 📸 делать скриншоты и записывать экран из командной строки.
Android Studio использует те же механизмы автоматически: когда вы нажимаете Run, IDE через ADB устанавливает APK и подключает отладчик. Поэтому корректная настройка ADB — фундамент всей работы с IDE.
Установка ADB: через Android Studio и отдельно
Если Android Studio уже установлена, Platform Tools (пакет с adb и fastboot) обычно поставлены вместе с ней. Проверить это можно через меню File → Settings → Appearance & Behavior → System Settings → Android SDK, вкладка SDK Tools. Убедитесь, что пункт Android SDK Platform-Tools отмечен галочкой.
По умолчанию утилита лежит в папке SDK. Типичные пути:
- 💻 Windows:
C:\Users\Имя\AppData\Local\Android\Sdk\platform-tools - 🍎 macOS:
~/Library/Android/sdk/platform-tools - 🐧 Linux:
~/Android/Sdk/platform-tools
Если Android Studio не нужна, а требуется только ADB (например, для прошивки или снятия логов), можно скачать отдельный архив SDK Platform Tools с официального сайта для разработчиков Android и распаковать его в любую папку. Установка как таковая не требуется — достаточно открыть терминал в каталоге с adb или добавить путь к нему в переменную окружения PATH.
Подключение устройства: пошаговая инструкция
Порядок действий одинаков для большинства смартфонов, но названия пунктов меню могут отличаться у разных производителей — сверяйтесь с инструкцией своей модели.
Сначала активируйте режим разработчика: откройте Настройки → О телефоне и несколько раз нажмите на пункт Номер сборки, пока не появится сообщение «Вы стали разработчиком». Затем в разделе Система → Для разработчиков включите переключатель Отладка по USB.
Теперь подключите телефон кабелем к ПК и выполните в терминале:
adb devices
На экране смартфона появится запрос «Разрешить отладку по USB?» — подтвердите его, при желании отметив «Всегда разрешать с этого компьютера». После этого команда должна показать серийный номер устройства со статусом device.
☑️ Проверка подключения ADB
⚠️ Внимание: используйте кабель, который точно передаёт данные. Некоторые дешёвые кабели рассчитаны только на зарядку — с ними ADB физически не увидит устройство, и никакие настройки не помогут.
Основные команды ADB
Ниже собраны команды, которые покрывают большинство повседневных задач. Все они вводятся в терминале (командной строке) после того, как устройство определилось со статусом device.
| Команда | Назначение |
|---|---|
adb devices | Список подключённых устройств и их статус |
adb install app.apk | Установка APK-файла на устройство |
adb uninstall com.example.app | Удаление приложения по имени пакета |
adb push file.txt /sdcard/ | Копирование файла с ПК на устройство |
adb pull /sdcard/file.txt | Копирование файла с устройства на ПК |
adb logcat | Просмотр системных логов в реальном времени |
adb shell | Открытие командной оболочки на устройстве |
adb reboot | Перезагрузка устройства |
Для перезагрузки в специальные режимы есть варианты: adb reboot bootloader переводит устройство в режим fastboot, а adb reboot recovery — в меню восстановления. Эти режимы используются при прошивке, и работа с ними требует понимания рисков.
ADB по Wi-Fi: подключение без кабеля
Начиная с Android 11, в систему встроена беспроводная отладка: в разделе для разработчиков есть пункт Отладка по Wi-Fi с возможностью сопряжения по QR-коду или коду pairing. На компьютере при этом используются команды вида adb pair и adb connect с указанием адреса и порта, которые показывает телефон.
На более старых версиях Android беспроводное подключение тоже возможно, но требует первичной настройки через кабель: сначала выполняется adb tcpip 5555, затем устройство подключается командой adb connect IP-адрес:5555. После перезагрузки телефона процедуру придётся повторить.
Как узнать IP-адрес телефона для adb connect
Откройте Настройки → О телефоне → Статус (или Сведения), там отображается IP-адрес в сети Wi-Fi. Также адрес виден в свойствах текущего Wi-Fi-подключения. Оба устройства — ПК и телефон — должны находиться в одной сети.
⚠️ Внимание: беспроводная отладка открывает сетевой порт на устройстве. Не включайте её в общественных Wi-Fi-сетях и отключайте после завершения работы.
Решение типичных ошибок ADB
Устройство не видно вообще. Проверьте кабель и порт USB, затем — драйвер. На Windows в Диспетчере устройств телефон должен определяться без восклицательных знаков; при проблемах установите драйвер от производителя смартфона или универсальный Google USB Driver через SDK Manager. На macOS и Linux драйверы обычно не нужны.
Статус unauthorized. Устройство подключено, но отладка не разрешена. Отключите и снова подключите кабель, следите за экраном телефона — запрос на разрешение может появиться с задержкой. Если запрос не приходит, отзовите старые разрешения: Для разработчиков → Отозвать разрешения на отладку по USB, затем переподключитесь.
Статус offline или зависший сервер. Помогает перезапуск ADB-сервера:
adb kill-server
adb start-server
adb devices
Ещё одна возможная причина сбоев — конфликт версий: если в системе установлено несколько копий adb (например, из Android Studio и отдельный Platform Tools), они могут «перехватывать» сервер друг у друга. Решение — оставить одну актуальную версию и обновить пути в PATH.
Интеграция ADB с Android Studio
Внутри IDE вам редко придётся вводить команды вручную. Вкладка Logcat в нижней панели показывает логи устройства, Device Explorer (или Device File Explorer) позволяет просматривать файловую систему, а кнопка Run сама устанавливает и запускает приложение через ADB.
Если Android Studio не видит устройство, хотя adb devices в терминале его показывает, проверьте, что IDE использует тот же SDK: путь задаётся в File → Project Structure → SDK Location. Несовпадение путей — частая причина, когда терминал видит телефон, а среда разработки — нет.
Для работы с эмулятором отдельное подключение не требуется: Android Emulator автоматически регистрируется в ADB при запуске и появляется в списке устройств как emulator-5554 или с похожим идентификатором.
FAQ: частые вопросы про Android Studio и ADB
Где скачать ADB без установки Android Studio?
Отдельный пакет называется SDK Platform Tools и распространяется на официальном сайте для Android-разработчиков. Это архив, который достаточно распаковать — установщик не нужен. Рекомендуется скачивать его только с официального источника, чтобы избежать модифицированных версий.
Почему adb devices показывает пустой список?
Наиболее вероятные причины: не включена отладка по USB на телефоне, кабель передаёт только питание, не установлен драйвер (на Windows) или завис ADB-сервер. Пройдитесь по чек-листу из раздела про подключение и выполните перезапуск сервера командами adb kill-server и adb start-server.
Можно ли пользоваться ADB без root-прав?
Да. Базовые команды — установка приложений, логи, передача файлов, shell — работают без root. Права суперпользователя нужны только для операций с системными разделами и защищёнными данными приложений.
Опасна ли включённая отладка по USB?
При подключении к чужому компьютеру теоретически возможен несанкционированный доступ, поэтому Android каждый раз запрашивает подтверждение на экране. Не разрешайте отладку на незнакомых ПК, не пользуйтесь публичными зарядными станциями с включённой отладкой и отключайте функцию, когда она не нужна.
Чем ADB отличается от Fastboot?
ADB работает, когда система Android загружена, и предназначен для отладки и обмена данными. Fastboot работает на уровне загрузчика (bootloader) и используется для прошивки разделов, разблокировки загрузчика и восстановления системы. Это разные режимы, и команды одного не работают в другом.