Оптимизация платформ Android SDK: что ставить и как управлять
Короткий ответ: держите в SDK только 2–3 платформы — текущую (API 35), предыдущую (API 34) и минимальную, которую вы поддерживаете (рекомендуемо не ниже API 24). Управляйте установками через SDK Manager или sdkmanager CLI, удаляйте ненужные build-tools, NDK и эмуляторы — это экономит гигабайты и ускоряет сборки.
Какие версии платформ ставить и почему
- API 35 — основная: ставьте для новых проектов и разработки фич (Material You, AI-APIs, складные экраны).
- API 34 — обязательна для релиза в Google Play (targetSdk с августа 2025); держите для совместимости.
- minSdk — устанавливайте исходя из поддержки пользователей, но не ниже API 24 (Android 7.0) из соображений безопасности и облегчающей поддержки библиотек.
Оптимальная политика: текущая + предпоследняя + minSdk. Это даёт покрытие 95%+ устройств и экономит 5–10 ГБ.
Размеры платформ и когда ставить
| API | Android | Platform-only (≈) | Когда нужен |
|---|---|---|---|
| 35 | Android 16 | ~1.5 ГБ | Разработка и релиз новых фич |
| 34 | Android 15 | ~1.4 ГБ | Target для Google Play |
| 33 | Android 13 | ~1.3 ГБ | Тестирование |
| 24 | Android 7 | ~900 МБ | Только если поддерживаете старые устройства |
Установка и удаление через SDK Manager (GUI и CLI)
Через Android Studio:
- Tools → SDK Manager → SDK Platforms: отметьте нужные API → Show Package Details → выбирайте только "Android SDK Platform" (уберите дополнительные системные образы, если не нужны).
- SDK Tools: устанавливайте только нужные Build-Tools (например 35.0.1), Android Emulator и Hypervisor для ускорения. Снимите галочки с CMake/NDK если нет native-кода.
- Примените изменения — загрузит только выбранные пакеты.
Через CLI (быстро и воспроизводимо):
- Установка: sdkmanager "platforms;android-35" "platforms;android-34" "build-tools;35.0.1"
- Удаление: sdkmanager --uninstall "platforms;android-30" "system-images;android-28;default;x86_64"
Отключите автообновления в Settings → Appearance & Behavior → System Settings; проверяйте вручную 1 раз в квартал.
Настройки проекта и AVD
В build.gradle явно задавайте версии, чтобы сборки не использовали неожиданные инструменты:
android {
compileSdk 35
targetSdk 35 // или 34 для совместимости
minSdk 24
buildToolsVersion "35.0.1"
}
AVD: создавайте эмуляторы только для API 35 (hardware-accelerated). Удаляйте старые AVD через AVD Manager — образы и эмуляторы занимают много места.
Не устанавливайте NDK/CMake по умолчанию. Они добавляют +1–3 ГБ; ставьте только под конкретный native-модуль.
Оптимизация и чистка SDK
- Перед удалением проверьте, что проекты не ссылаются на удалённые версии (Gradle cache и wrapper обновлены).
- Очистка кэша сборки: ./gradlew clean или flutter clean.
- Автоматизируйте очистку sdkmanager --uninstall для CI/машин разработчиков.
- Для тестирования старых версий используйте облачные лаборатории (Firebase Test Lab, BrowserStack), а не локальные образы.
Частые ошибки
- Установка всех системных образов "на всякий случай" — приводит к десяткам ГБ.
- Отключение явного buildToolsVersion — Gradle может скачать несовместимые версии.
- Удаление NDK без проверки build.gradle в модулях — ломает сборку native-модулей.
- Доверие автообновлениям на рабочей машине разработчика — неожиданные изменения в CI.
FAQ
-
Нужно ли держать system-images для x86 и x86_64?
Держите только те, которые вы реально запускаете. Для большинства разработчиков достаточно одного hardware-accelerated образа (API 35). -
Какой минимальный API безопасно использовать в 2026?
Рекомендуется minSdk 24; ниже — значительно сниженная доля устройств и возможные уязвимости в старых библиотеках. -
Если проект требует native, какие версии NDK ставить?
Устанавливайте только одну версию, совместимую с вашим кодом (например ndk;26.x). Укажите exact version в gradle.properties или в module-level build.gradle. -
Как убедиться, что SDK не раздувается на CI?
Собирайте минимальный набор пакетов в образе CI: platforms;android-35, build-tools;35.0.1 и нужные системные образы только при интеграционных тестах.
С этими правилами ваш локальный SDK в большинстве случаев займёт <5 ГБ, сборки будут быстрее, а поддержка — проще и безопаснее.