Краткое руководство по ADB: установка, подключение и команды

ADB — командный инструмент (Platform‑Tools) для управления Android: позволяет устанавливать APK, выполнять shell‑команды, копировать файлы, смотреть логи и подключаться по USB или Wi‑Fi. Ниже — пошаговые инструкции и набор практических команд, которые можно применять сразу.

Установка ADB (Platform‑Tools)

  1. Скачайте и распакуйте Platform‑Tools в удобную папку:
    • Windows: C:\platform-tools
    • macOS/Linux: ~/platform-tools или /usr/local/platform-tools
  2. Добавьте в PATH:
    • Windows (PowerShell):
      [System.Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\platform-tools", "User")
    • macOS/Linux (bash/zsh):
      echo 'export PATH="$HOME/platform-tools:$PATH"' >> ~/.bashrc && source ~/.bashrc
  3. Проверьте: adb version adb --help

На macOS удобно установить через Homebrew: brew install --cask android-platform-tools. Это упрощает обновление.

Подключение устройства (USB и Wi‑Fi)

Подготовьте телефон:

  1. Включите "Параметры разработчика" (нажмите 7 раз по номеру сборки) и активируйте "Отладка по USB".
  2. Подключите кабелем, разблокируйте экран и подтвердите запрос RSA‑ключа при появлении.

Проверка подключения: adb devices Ожидаемый вывод: сериал и статус device. Если unauthorized — подтвердите на телефоне.

Подключение по Wi‑Fi (быстрый способ, требует временного USB‑подключения или Wireless debugging в Android 11+): adb tcpip 5555 adb connect <IP_устройства>:5555

Не оставляйте включённую USB‑отладку и постоянные сетевые подключения на чужих или публичных устройствах — это риск безопасности.

Базовые команды и готовые сценарии

Часто используемые команды:

  • Список устройств: adb devices
  • Shell и получение свойства: adb shell adb shell getprop ro.build.version.release
  • Установка/удаление APK: adb install app.apk adb install -r app.apk adb uninstall com.example.app
  • Копирование файлов: adb push local.file /sdcard/remote.file adb pull /sdcard/remote.file ./local.file
  • Логи: adb logcat adb logcat -v time > mylog.txt
  • Перезагрузка: adb reboot adb reboot bootloader adb reboot recovery
  • Работа с конкретным устройством: adb -s SERIAL_NUMBER <команда>
  • Багрепорт: adb bugreport bugreport.zip

Полезные сценарии:

  • Скриншот на устройстве и скачивание: adb shell screencap -p /sdcard/screen.png adb pull /sdcard/screen.png ./screen.png
  • Извлечь APK установленного приложения: APK_PATH=$(adb shell pm path com.example.app | sed 's/^package://') adb pull $APK_PATH ./com.example.app.apk
  • Перезапуск сервера adb при проблемах: adb kill-server adb start-server adb devices

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

  • Устройство не отображается:
    • проверьте USB‑кабель (многие — только для зарядки), режим USB (MTP), подтверждение RSA;
    • на Windows установите OEM‑драйвер производителя;
    • на Linux настройте udev‑правила и проверьте права (plugdev).
  • Статус unauthorized — разблокируйте экран и подтвердите RSA‑запрос.
  • insufficient permissions — используйте sudo для Linux или настройте udev/права.

FAQ

  • Как обновлять platform‑tools? Периодически скачивайте новую версию или используйте пакетный менеджер (Homebrew, дистрибутивные пакеты).
  • Можно ли использовать ADB без USB? Да — через Wireless debugging (Android 11+) или временно с adb tcpip 5555, но pairing безопаснее.
  • Нужно ли root для большинства команд? Нет. Большинство операций работают без root; команды, затрагивающие системные разделы, потребуют root/bootloader.
  • Как работать с несколькими устройствами? Используйте adb -s <команда> или подключайте по разным портам для Wi‑Fi.

Если хотите, подготовлю краткий cheat‑sheet с командами под Windows/macOS/Linux.