Что такое ADB? Android Debug Bridge простыми словами
ADB (Android Debug Bridge) связывает компьютер с Android-устройством. Из чего состоит, как телефон разрешает доступ, USB или Wi-Fi и чем ADB отличается от fastboot.
ADB (Android Debug Bridge) это инструмент, через который компьютер общается с Android-телефоном, планшетом или телевизором. С его помощью можно устанавливать приложения, читать логи, копировать файлы, выполнять shell-команды и управлять экраном прямо с компьютера. Google распространяет ADB вместе с Android SDK, и именно его Android Studio использует каждый раз, когда вы нажимаете Run.
Мост из трёх частей
ADB выглядит как одна команда, но на деле это три программы, которые работают вместе:
| Часть | Где работает | Что делает |
|---|---|---|
| Клиент | Ваш компьютер | Команда adb, которую вы вводите. Передаёт запрос серверу. |
| Сервер | Ваш компьютер, в фоне | Следит за подключёнными устройствами и передаёт сообщения между клиентами и устройствами. Слушает порт 5037. |
Демон (adbd) | Android-устройство | Принимает команды и выполняет их на устройстве. |
При первой команде adb клиент сам запускает сервер, если тот ещё не работает. Сервер ищет устройства по USB и в сети. Когда вы выполняете adb shell ls, клиент отдаёт запрос серверу, сервер пересылает его в adbd на устройстве, а результат возвращается тем же путём.
Поэтому ADB-сервер одновременно должна держать только одна программа. Если Android Studio, scrcpy и терминал пытаются занять USB-подключение каждый для себя, они мешают друг другу, и появляются ошибки вроде "device busy". Обычно помогает adb kill-server или закрытие лишней программы. Подробнее в статье устройство занято или unauthorized.
Как телефон пускает компьютер
ADB даёт много возможностей, поэтому Android не позволяет пользоваться им любому компьютеру.
- Нужно включить «Отладку по USB». Пункт находится в разделе «Для разработчиков» («Параметры разработчика» на Samsung), который скрыт, пока вы семь раз не нажмёте на «Номер сборки». Инструкция: как включить отладку по USB.
- Телефон должен одобрить компьютер. У каждого компьютера свой RSA-ключ. При первом подключении телефон показывает окно «Разрешить отладку по USB?» (Allow USB debugging?) с отпечатком этого ключа. Пока вы не нажмёте «Разрешить», устройство значится как
unauthorized, и ничего не работает.
Отозвать разрешение можно в любой момент пунктом «Отозвать доступ для отладки по USB» (Revoke USB debugging authorizations) в разделе «Для разработчиков».
USB или Wi-Fi
ADB работает через два вида подключения:
- USB-кабель: основной вариант. Быстро, надёжно и проще всего настроить.
- Сеть: классический
adb tcpip, которому один раз нужен кабель, чтобы перевести телефон на порт 5555, или «Отладка по Wi-Fi» (Wireless debugging) на Android 11 и новее, где сопряжение идёт по коду и кабель не нужен вовсе. Разница описана в статье adb tcpip или отладка по Wi-Fi.
Для большинства телевизоров ADB по сети единственный вариант, потому что их нельзя подключить к компьютеру по USB. См. как управлять Android TV через ADB.
ADB и fastboot
Их часто путают, потому что оба входят в один архив Android SDK platform-tools.
| ADB | Fastboot | |
|---|---|---|
| Работает, когда | Запущен Android (или recovery) | Телефон в режиме bootloader / fastboot, до старта Android |
| Для чего | Приложения, логи, файлы, shell, экран | Прошивка разделов, разблокировка загрузчика |
| Сторона устройства | adbd | Загрузчик (bootloader) |
Обычно между ними переходят командой adb reboot bootloader: она перезагружает работающий телефон в режим фастбут. Что можно сделать дальше, описано в руководстве по режиму fastboot.
Где взять ADB
Есть два распространённых способа:
- Android SDK platform-tools: бесплатный архив от Google для Windows, macOS и Linux. Распакуйте его, добавьте папку в PATH и запускайте
adbв терминале. - В браузере: Chrome и Edge умеют работать с USB-устройствами через WebUSB, так что веб-страница может говорить с телефоном по протоколу ADB напрямую. Так устроен ADBKit, и для USB ничего устанавливать не нужно. Технические подробности в статье что такое WebADB и WebUSB.
Безопасен ли ADB?
ADB это инструмент отладки, поэтому одобренный компьютер получает глубокий доступ: может ставить приложения, читать логи приложений и копировать файлы из общей памяти. Это безопасно, если компьютер ваш и вы понимаете, что запускаете. Несколько привычек помогут сохранить это так:
- Нажимайте «Разрешить» только для компьютеров, которым доверяете.
- Выключайте «Отладку по USB», когда она больше не нужна, особенно на телефоне, который всегда с вами.
- Не оставляйте ADB по сети включённым в публичной или общей Wi-Fi-сети.
Что дальше
- Для чего нужен ADB, с реальными примерами
- Шпаргалка по командам ADB
- Включите отладку по USB и подключите первое устройство