ANDROID_HOME: настройка пути к Android SDK

Ошибка SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable при сборке проекта в Android Studio или при запуске adb из терминала почти всегда означает одно: система не знает, где лежит Android SDK, потому что переменная ANDROID_HOME не задана или указывает на несуществующий каталог. Проверить это можно за минуту — достаточно вывести значение переменной в терминале.

Ниже разберём, что такое ANDROID_HOME, где SDK находится по умолчанию на разных операционных системах, как правильно прописать переменную окружения и что делать, если после настройки инструменты всё равно её не видят.

Что такое ANDROID_HOME и зачем она нужна

ANDROID_HOME — это переменная окружения, которая хранит полный путь к каталогу Android SDK — набору инструментов для разработки под Android: платформ, эмуляторов, adb, fastboot и других утилит. Когда вы запускаете сборку проекта, Gradle, Flutter, React Native или командная строка сначала смотрят на эту переменную, чтобы понять, где искать нужные компоненты.

Если переменная не задана, часть инструментов может подхватить путь из настроек Android Studio (файл local.properties в проекте), но консольные утилиты и сторонние фреймворки на это не рассчитывают. Поэтому «в студии всё работает, а в терминале нет» — типичный симптом отсутствующего ANDROID_HOME.

Стоит также знать про переменную ANDROID_SDK_ROOT. В новых версиях инструментов она считается предпочтительной, а ANDROID_HOME поддерживается для обратной совместимости. На практике разумно задать обе переменные с одинаковым значением — так вы закроете потребности и старых, и новых утилит.

Где находится Android SDK по умолчанию

При установке Android Studio SDK по умолчанию размещается в стандартном каталоге, который зависит от операционной системы. Если вы не меняли путь при установке, ищите SDK здесь:

Операционная системаПуть по умолчанию
WindowsC:\Users\Имя\AppData\Local\Android\Sdk
macOS/Users/Имя/Library/Android/sdk
Linux/home/Имя/Android/Sdk
Windows (общий вариант)путь, заданный вручную при установке

Точный путь на вашей машине проще всего посмотреть в самой Android Studio: откройте File → Settings → Languages & Frameworks → Android SDK (на macOS — Android Studio → Preferences). В верхней части окна поле Android SDK Location покажет актуальный каталог.

  • 📁 platform-tools — здесь лежат adb и fastboot;
  • 🧰 build-tools — утилиты сборки для конкретных версий;
  • 📱 platforms — сами платформы Android по версиям API;
  • 🖥️ emulator — компоненты эмулятора.
⚠️ Внимание: папка AppData в Windows и Library в macOS по умолчанию скрыты. Если вы ищете SDK через проводник или Finder и не видите каталога, включите отображение скрытых файлов — это не значит, что SDK отсутствует.

Как проверить, задана ли переменная

Прежде чем что-то настраивать, проверьте текущее состояние. В Windows откройте командную строку или PowerShell и выполните:

echo %ANDROID_HOME%

В PowerShell синтаксис другой: echo $env:ANDROID_HOME. На macOS и Linux в терминале:

echo $ANDROID_HOME

Если вывод пустой или показывает саму строку %ANDROID_HOME% — переменная не задана. Дополнительная проверка: выполните adb --version. Если система отвечает, что команда не найдена, значит, и PATH не содержит пути к platform-tools.

📊 Где вы столкнулись с проблемой ANDROID_HOME?
Сборка в Android Studio
Flutter / React Native
Команда adb не находится
CI/CD или сервер сборки

Настройка ANDROID_HOME в Windows

В Windows переменные окружения задаются через системные настройки. Откройте Параметры → Система → О системе → Дополнительные параметры системы → Переменные среды (либо нажмите Win + R и введите sysdm.cpl, затем вкладка «Дополнительно»).

В разделе «Переменные среды пользователя» создайте новую переменную с именем ANDROID_HOME и значением — полным путём к SDK, например C:\Users\Имя\AppData\Local\Android\Sdk. Затем найдите переменную Path и добавьте в неё две записи:

%ANDROID_HOME%\platform-tools

%ANDROID_HOME%\emulator

☑️ Настройка ANDROID_HOME в Windows

Выполнено: 0 / 5

После сохранения закройте и заново откройте терминал и Android Studio — уже запущенные программы не подхватывают новые переменные. Проверьте результат командами echo %ANDROID_HOME% и adb --version.

Настройка на macOS и Linux

На macOS и Linux переменные прописываются в конфигурационном файле командной оболочки. Сначала выясните, какая оболочка используется: команда echo $SHELL покажет zsh (стандарт для современных macOS) или bash.

Откройте соответствующий файл — ~/.zshrc для zsh или ~/.bashrc (на macOS иногда ~/.bash_profile) — и добавьте в конец строки, подставив свой путь:

export ANDROID_HOME=$HOME/Library/Android/sdk

export ANDROID_SDK_ROOT=$ANDROID_HOME

export PATH=$PATH:$ANDROID_HOME/platform-tools

export PATH=$PATH:$ANDROID_HOME/emulator

Для Linux путь обычно другой: export ANDROID_HOME=$HOME/Android/Sdk. Сохраните файл и примените изменения командой source ~/.zshrc (или соответствующим файлом), либо просто откройте новое окно терминала.

Как узнать домашнюю папку и путь к SDK

Выполните echo $HOME — это ваш домашний каталог. Затем проверьте наличие SDK: ls $HOME/Library/Android/sdk (macOS) или ls $HOME/Android/Sdk (Linux). Если команда выводит список папок platform-tools, platforms и других — путь верный.

Типичные ошибки и их решение

Даже после настройки переменной проблемы иногда остаются. Вот самые частые сценарии:

  • 🔁 Старый терминал. Переменные применяются только к новым сессиям — закройте и откройте терминал, IDE или перезагрузите компьютер.
  • ✂️ Опечатка в пути. Скопируйте путь из настроек Android Studio, а не набирайте вручную.
  • 🔀 Смешанные слэши. В Windows-переменных используйте обратный слэш \, в скриптах bash — прямой /.
  • 🗂️ SDK переехал. Если вы перемещали папку SDK вручную, обновите путь и в переменной, и в настройках Android Studio.

Отдельный случай — ошибка SDK location not found при сборке конкретного проекта. Проверьте файл local.properties в корне проекта: там может быть зашит устаревший путь sdk.dir=.... Этот файл не должен попадать в систему контроля версий, и его содержимое нужно актуализировать под текущую машину.

⚠️ Внимание: не указывайте в ANDROID_HOME путь к подпапке вроде platform-tools — переменная должна вести именно в корень SDK, тот каталог, внутри которого лежат platforms, build-tools и прочие компоненты. Указание вложенной папки — частая причина того, что SDK «не находится», хотя переменная вроде бы задана.

Для фреймворков вроде Flutter есть дополнительная диагностика: команда flutter doctor сама проверяет доступность SDK и подсказывает, какой компонент не найден. Если она показывает ошибку лицензий, выполните flutter doctor --android-licenses и примите условия.

Частые вопросы

Чем ANDROID_HOME отличается от ANDROID_SDK_ROOT?

Обе переменные указывают на каталог Android SDK. ANDROID_SDK_ROOT — более новое имя, которое предпочитают современные инструменты, а ANDROID_HOME сохраняется для совместимости со старыми. Практичное решение — задать обе с одинаковым значением.

Можно ли хранить SDK на другом диске?

Да, SDK можно установить в любой каталог, например на диск D:. При установке Android Studio выберите пользовательский путь, а затем укажите его же в переменной ANDROID_HOME. Избегайте пробелов и кириллицы в пути.

Почему adb работает в Android Studio, но не в терминале?

Android Studio знает путь к SDK из собственных настроек и не нуждается в переменных окружения. Терминал же ищет adb только через PATH. Добавьте platform-tools в PATH — и команда заработает везде.

Нужно ли перезагружать компьютер после настройки?

Полная перезагрузка обычно не обязательна: достаточно закрыть и заново открыть терминал и IDE. Но если переменная не подхватывается, перезагрузка — простой способ исключить кэшированные сессии.

Что делать, если папки SDK нет по стандартному пути?

Возможно, SDK не установлен или установлен в другое место. Откройте Android Studio и посмотрите путь в настройках Android SDK. Если SDK отсутствует, установите его через SDK Manager — там же, в разделе SDK Platforms и SDK Tools.