SDK для Android: установка, настройка и решение проблем

При первом запуске 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-ToolsADB, 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 и прочие утилиты. Перед применением изменений менеджер показывает объём загрузки.

☑️ Проверка готовности среды разработки

Выполнено: 0 / 5
⚠️ Внимание: путь к 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: чаще всего ошибка в лишнем или пропущенном сегменте пути.

📊 Для чего вам нужен Android SDK?
Разработка приложений в Android Studio
Только ADB и fastboot для работы с устройством
Сборка проектов на CI/CD-сервере
Изучаю разработку, ставлю впервые

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

Большинство проблем с 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 вашего проекта, плюс образы для эмулятора, если вы тестируете на разных версиях. Установка всех платформ подряд лишь расходует дисковое пространство и время на обновления.