Что такое ADB и зачем им пользоваться

ADB — это утилита для управления Android‑устройством с компьютера: отправка shell-команд, установка APK, передача файлов и просмотр логов в реальном времени по USB или Wi‑Fi. Он необходим разработчикам, тестировщикам и продвинутым пользователям для быстрой отладки и обслуживания устройств.

Установка и первичное подключение

  1. Скачайте Platform‑Tools и распакуйте в папку (например, C:\adb или ~/platform-tools).
  2. Добавьте папку в PATH:
    • Windows: через Переменные среды.
    • macOS/Linux: добавить export PATH=$PATH:/путь/к/platform-tools в ~/.bash_profile или ~/.zshrc.
  3. На устройстве включите "Параметры разработчика" (7 тапов по номеру сборки) → "Отладка по USB".
  4. Подключите USB и проверьте:
    • adb kill-server && adb start-server
    • adb devices — в ответ появится ID устройства.
  5. При появлении запроса на устройстве подтвердите RSA‑ключ.

Для беспроводного подключения (Android 11+ или с поддержкой wireless debugging): используйте adb tcpip 5555, затем adb connect IP:5555 или adb pair IP:порт для безопасной пары.

Основные команды и быстрые сценарии

Ниже — команды, которые покрывают 90% задач.

  • adb devices — список подключенных устройств
  • adb shell — открыть терминал устройства
  • adb install app.apk — установить APK
  • adb uninstall com.example.app — удалить приложение
  • adb push local /sdcard/remote — отправить файл на устройство
  • adb pull /sdcard/remote local — скачать файл с устройства
  • adb logcat — смотреть логи (фильтры: adb logcat | grep MyTag)
  • adb reboot — перезагрузить устройство
  • adb reboot bootloader — загрузиться в bootloader/fastboot
  • adb shell pm list packages — список пакетов
  • adb shell dumpsys gfxinfo — аналитика графики и FPS
  • adb shell top — мониторинг CPU/RAM

Пример: установить и запустить логи

  • adb install myapp.apk
  • adb logcat | grep -i crash

Практические кейсы

  • Разработка: запуск тестов, просмотр stacktrace, hot‑reload при отладке Flutter/React Native через adb logcat.
  • Тестирование: sideload APK, эмуляция команд вводом в shell, запись скринкастов (adb shell screenrecord).
  • Кастомизация/root: remount /system (требуется root), установка Magisk, работа с recovery через fastboot.
  • Восстановление устройства: получение логов после краша, прошивка recovery или образов через fastboot.
  • IoT и эмуляторы: подключение headless‑устройств и автоматизация через скрипты.

Если adb devices помечает устройство как "unauthorized" — обязательно подтвердите запрос RSA на телефоне; при проблемах выполните adb kill-server && adb start-server и переподключите USB.

Частые ошибки

  • Нет устройства в списке: проверьте USB‑кабель, режим подключения (MTP), драйверы (Windows) и разрешение отладки на устройстве.
  • Драйверы Windows: установите драйверы OEM или Universal ADB Driver.
  • Wi‑Fi не подключается: убедитесь, что ПК и устройство в одной сети и используйте adb pair для Android 11+.
  • Конфликты портов: adb kill-server решает большинство проблем.

FAQ

  • Нужно ли root для ADB? Нет — базовые команды работают без root; доступ к /system и изменение защищённых разделов требуют root.
  • Безопасно ли включать отладку по USB? Да, но не оставляйте её включённой на публичных устройствах: разрешайте отладку только доверенным ПК.
  • Как держать ADB актуальным? Обновляйте Platform‑Tools через официальные сборки — новые версии улучшают совместимость и добавляют wireless debugging.

Используйте ADB как повседневный инструмент: простые команды часто решают задачи быстрее, чем графические интерфейсы, а автоматизация через скрипты экономит часы работы.