Что такое ADB и зачем им пользоваться
ADB — это утилита для управления Android‑устройством с компьютера: отправка shell-команд, установка APK, передача файлов и просмотр логов в реальном времени по USB или Wi‑Fi. Он необходим разработчикам, тестировщикам и продвинутым пользователям для быстрой отладки и обслуживания устройств.
Установка и первичное подключение
- Скачайте Platform‑Tools и распакуйте в папку (например, C:\adb или ~/platform-tools).
- Добавьте папку в PATH:
- Windows: через Переменные среды.
- macOS/Linux: добавить export PATH=$PATH:/путь/к/platform-tools в ~/.bash_profile или ~/.zshrc.
- На устройстве включите "Параметры разработчика" (7 тапов по номеру сборки) → "Отладка по USB".
- Подключите USB и проверьте:
- adb kill-server && adb start-server
- adb devices — в ответ появится ID устройства.
- При появлении запроса на устройстве подтвердите 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 как повседневный инструмент: простые команды часто решают задачи быстрее, чем графические интерфейсы, а автоматизация через скрипты экономит часы работы.