Как настроить ADB и PATH/ANDROID_HOME для Android SDK

В двух словах: установите SDK (Android Studio или Command Line Tools), задайте переменную ANDROID_HOME/ANDROID_SDK_ROOT на корень SDK и добавьте в PATH папки platform-tools и cmdline-tools/.../bin/tools/bin. После перезагрузки терминала adb devices должен показывать устройство.

Установка SDK и ADB — быстрые шаги по ОС

  1. Выбор: Android Studio (рекомендовано) или Command Line Tools (меньше места).
  2. Расположите SDK в пути без пробелов:
    • Windows: например C:\Android\Sdk
    • macOS/Linux: ~/Android/Sdk

Установите platform-tools и нужные платформы через sdkmanager (вместо <> подставьте версию):

  • Пример команды: sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"

Windows (GUI и переменные):

  • Откройте System → Advanced → Environment Variables.
  • Добавьте системную переменную: ANDROID_HOME = C:\Android\Sdk
  • В PATH добавьте: %ANDROID_HOME%\platform-tools
    %ANDROID_HOME%\cmdline-tools\latest\bin (или %ANDROID_HOME%\tools\bin если используются старые инструменты)

PowerShell (временная для сессии):

  • $env:ANDROID_HOME = "C:\Android\Sdk"
  • Однако лучше настроить через GUI для постоянства.

macOS / Linux (zsh/bash):

  • В ~/.zshrc или ~/.bash_profile добавьте: export ANDROID_HOME="$HOME/Android/Sdk" export ANDROID_SDK_ROOT="$ANDROID_HOME" # синоним для современных утилит export PATH="$PATH:$ANDROID_HOME/platform-tools" export PATH="$PATH:$ANDROID_HOME/cmdline-tools/latest/bin"
  • Примените: source ~/.zshrc или откройте новый терминал.

Проверьте наличие adb командой ls $ANDROID_HOME/platform-tools/adb (Unix) или dir %ANDROID_HOME%\platform-tools\adb (Windows).

Проверка настройки и базовые команды

  • Проверить переменную:
    • Unix: echo $ANDROID_HOME
    • Windows: echo %ANDROID_HOME%
  • Проверить adb: adb version — пример вывода: Android Debug Bridge version 1.0.41
  • Подключить устройство: включите "USB Debugging" в опциях разработчика и выполните: adb devices — устройство должно быть в статусе device. Если unauthorized — разблокируйте телефон и подтвердите запрос RSA.

Не ставьте SDK в C:\Program Files — пробелы могут ломать скрипты. На Linux не забудьте права доступа и, при необходимости, добавить себя в группу plugdev: sudo usermod -aG plugdev $USER и перелогиньтесь.

Частые ошибки и способы их устранения

  • "adb: command not found" — PATH не обновлён: откройте новый терминал или выполните source и hash -r.
  • Несколько SDK на системе — убедитесь, что ANDROID_HOME указывает на нужный SDK; sdkmanager --list покажет установленные пакеты.
  • Android Studio не видит SDK — укажите путь в Settings → Appearance & Behavior → System Settings → Android SDK.
  • M1/M2 Mac: используйте нативную ARM-версию SDK/инструментов или Rosetta для старых бинарников.
  • "device offline"/"unauthorized" — перезагрузите adb: adb kill-server && adb start-server, проверьте кабель и разрешение на устройстве.

Дополнительные переменные (опционально)

  • ANDROID_SDK_ROOT — современный синоним ANDROID_HOME; можно задать оба.
  • JAVA_HOME — путь к JDK (например /usr/lib/jvm/java-17-openjdk) нужен для Gradle: В ~/.gradle/gradle.properties: org.gradle.java.home=/path/to/jdk

FAQ

  • Нужно ли ставить Android Studio? Для новичков — да. Для CI/серверов хватит Command Line Tools.
  • Как сделать переменные глобальными для всех пользователей Windows? Создавайте их как System variables в окне переменных среды (Administrator).
  • Что делать если adb видит устройство только в Linux как root? Запустите adb kill-server и adb start-server от обычного пользователя, настройте udev-правила (если требуется).

Указанные действия позволят работать с эмуляторами и реальными устройствами из Android Studio, CLI, Flutter и React Native. Если что-то не сработало — опишите ОС и вывод команд echo $ANDROID_HOME / adb version — помогу точечно.