При первом запуске Android Studio или сборке проекта через Gradle новички часто видят сообщение вроде «SDK location not found» — это значит, что система не находит Android SDK, без которого сборка приложения невозможна. SDK для Android — это набор инструментов разработчика: компиляторы, библиотеки платформы, эмулятор, отладчик ADB и утилиты командной строки.
В этой статье разберём, из чего состоит SDK, как его установить и настроить, какие компоненты действительно нужны, а также как исправить типичные ошибки вроде отсутствующего sdk.dir или неработающего adb. Материал подойдёт и тем, кто ставит среду разработки с нуля, и тем, кто переносит проект на новый компьютер.
Что входит в состав Android SDK
Android SDK — не монолитный пакет, а набор отдельных компонентов, которые можно ставить и обновлять независимо. Понимание структуры помогает не качать лишнее и быстрее находить причину сбоев.
- 🧰 SDK Platform — библиотеки и заголовки конкретной версии Android, под которую компилируется приложение.
- 🛠️ SDK Build-Tools — утилиты сборки, включая компилятор ресурсов и инструменты упаковки APK/AAB.
- 📱 SDK Platform-Tools — ADB, fastboot и другие утилиты для взаимодействия с устройством.
- 🖥️ Android Emulator и системные образы — для запуска виртуальных устройств без физического смартфона.
- 📦 SDK Command-line Tools — менеджер
sdkmanagerдля установки компонентов без графического интерфейса.
Каждый проект привязан к конкретным версиям: в файле build.gradle указываются compileSdk и minSdk. Если нужная платформа не установлена, Gradle остановит сборку с ошибкой и предложит установить недостающий компонент.
Установка через Android Studio
Самый простой способ получить SDK — установить Android Studio, официальную IDE от Google. Во время первого запуска мастер настройки предложит загрузить базовый набор: последнюю платформу, platform-tools, эмулятор и command-line tools. Для стандартной разработки этого достаточно.
После установки управление компонентами выполняется через SDK Manager: откройте его из окна приветствия или через меню настроек IDE. На вкладке SDK Platforms выбираются версии Android, на вкладке SDK Tools — build-tools, эмулятор, NDK и прочие утилиты. Перед применением изменений менеджер показывает объём загрузки.
☑️ Проверка готовности среды разработки
⚠️ Внимание: путь к SDK не должен содержать кириллицу и пробелы, если вы работаете со старыми версиями инструментов или NDK — это частая причина непонятных сбоев сборки. По возможности используйте путь вроде C:\Android\Sdk или оставьте каталог, предложенный установщиком.
Установка без Android Studio: только командная строка
Если IDE не нужна — например, вы настраиваете CI-сервер или хотите только пользоваться adb — достаточно скачать Command-line Tools или отдельный архив SDK Platform-Tools с официального сайта разработчиков Android. Platform-Tools не требуют установки: распакуйте архив и добавьте папку в PATH.
Для полноценного SDK через командную строку используется sdkmanager. Пример установки платформы и инструментов:
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
При первом запуске менеджер попросит принять лицензии — это делается командой sdkmanager --licenses. Без принятия лицензий сборка проектов будет останавливаться с соответствующей ошибкой, что особенно часто проявляется на серверах непрерывной интеграции.
Настройка переменных среды и путей
Чтобы утилиты SDK были доступны из любого терминала, нужно настроить переменные окружения. Ключевая из них — ANDROID_HOME (в новых версиях инструментов также поддерживается ANDROID_SDK_ROOT), указывающая на корневую папку SDK.
- ⚙️ На Windows переменные задаются через «Система → Дополнительные параметры системы → Переменные среды».
- 🐧 На Linux и macOS пути прописываются в файле
~/.bashrc,~/.zshrcили аналогичном профиле оболочки. - 📂 В
PATHдобавляются подпапкиplatform-toolsиcmdline-tools/latest/binвнутри SDK.
После настройки откройте новый терминал и проверьте результат командой adb version. Если выводится версия утилиты — всё настроено верно. Если система отвечает «команда не найдена», перепроверьте путь в PATH: чаще всего ошибка в лишнем или пропущенном сегменте пути.
Типичные ошибки и их решение
Большинство проблем с SDK сводится к нескольким повторяющимся сценариям. Ниже — таблица частых ошибок и способов их устранения.
| Ошибка | Вероятная причина | Решение |
|---|---|---|
| SDK location not found | Не задан путь к SDK | Создать файл local.properties со строкой sdk.dir или задать ANDROID_HOME |
| Failed to install platform | Не приняты лицензии | Выполнить sdkmanager --licenses |
| adb не видит устройство | Не включена отладка по USB или нет драйвера | Включить «Отладку по USB» в настройках разработчика, на Windows — установить драйвер производителя |
| Build-tools revision not found | Требуемая версия build-tools не установлена | Установить нужную версию через SDK Manager |
| Эмулятор не запускается | Отключена виртуализация в BIOS/UEFI | Включить виртуализацию (VT-x/AMD-V) в настройках прошивки |
Отдельно стоит сказать про файл local.properties. Он создаётся автоматически в корне проекта при открытии в Android Studio, но при клонировании репозитория с Git его обычно нет — файл исключён из версионирования, потому что путь к SDK у каждого разработчика свой. Если сборка ругается на отсутствие SDK, просто откройте проект в IDE, и файл появится сам.
⚠️ Внимание: не копируйтеlocal.propertiesс чужого компьютера и не коммитьте его в репозиторий. Путьsdk.dirвнутри файла уникален для каждой машины, и чужое значение гарантированно сломает сборку.
Что делать, если ADB видит устройство как unauthorized
Отзовите авторизации USB-отладки в настройках разработчика на смартфоне, переподключите кабель и подтвердите запрос на разрешение отладки на экране устройства. Также помогает перезапуск сервера командой adb kill-server с последующим adb start-server.
Обновление и обслуживание SDK
SDK требует периодического обслуживания: Google выпускает новые версии платформы, а старые компоненты накапливаются и занимают заметный объём диска. Раз в несколько месяцев имеет смысл открыть SDK Manager, обновить platform-tools и build-tools, а также удалить платформы, которые больше не используются ни одним проектом.
При обновлении compileSdk в проекте сначала установите соответствующую платформу, и только потом меняйте номер в build.gradle — иначе синхронизация завершится ошибкой. А вот обновлять SDK во время активной работы над релизной сборкой не стоит: новая версия build-tools может изменить поведение сборки, и отладка отнимет время в неподходящий момент.
Если место на диске критично – проверьте папки system-images и emulator внутри SDK: образы виртуальных устройств часто весят больше всего. Неиспользуемые образы безопасно удаляются через SDK Manager или диспетчер виртуальных устройств.
FAQ: частые вопросы про Android SDK
Можно ли установить Android SDK без Android Studio?
Да. Для работы с ADB и fastboot достаточно архива SDK Platform-Tools, а для полноценного SDK без IDE используются Command-line Tools с менеджером sdkmanager. Android Studio нужна только для удобной разработки с графическим интерфейсом.
Где находится папка SDK по умолчанию?
Путь зависит от операционной системы и выбора при установке. Текущее расположение всегда можно посмотреть в настройках Android Studio в разделе SDK Manager — там указан пункт Android SDK Location. Именно этот путь нужно прописывать в ANDROID_HOME.
Чем отличаются minSdk, targetSdk и compileSdk?
minSdk — минимальная версия Android, на которой приложение запустится. targetSdk — версия, под поведение которой приложение оптимизировано. compileSdk — версия платформы, используемая при компиляции. Все три параметра задаются в файле build.gradle модуля.
Почему Gradle скачивает SDK-компоненты сам?
Начиная с современных версий Android Gradle Plugin, среда может автоматически загружать недостающие платформы и build-tools при синхронизации проекта, если лицензии приняты. Это нормальное поведение, но на машинах без интернета компоненты нужно ставить заранее вручную.
Нужно ли ставить все версии Android в SDK Manager?
Нет. Достаточно платформы, указанной в compileSdk вашего проекта, плюс образы для эмулятора, если вы тестируете на разных версиях. Установка всех платформ подряд лишь расходует дисковое пространство и время на обновления.