ОбъяснениеОпубликовано: 3 мин чтения

Что такое 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 не позволяет пользоваться им любому компьютеру.

  1. Нужно включить «Отладку по USB». Пункт находится в разделе «Для разработчиков» («Параметры разработчика» на Samsung), который скрыт, пока вы семь раз не нажмёте на «Номер сборки». Инструкция: как включить отладку по USB.
  2. Телефон должен одобрить компьютер. У каждого компьютера свой 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.

ADBFastboot
Работает, когдаЗапущен 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-сети.

Что дальше