Android SDK 28: полное руководство по установке и настройке

Ошибка failed to find Platform SDK with path: platforms;android-28 появляется в Android Studio, когда в проекте указан compileSdkVersion 28, но сам пакет платформы не скачан или путь к SDK прописан неверно. Это одна из самых частых проблем при открытии старых проектов, собранных под Android 9 Pie, и решается она установкой нужного пакета через SDK Manager либо корректировкой конфигурации Gradle.

Android SDK 28 — это набор инструментов разработки, соответствующий API level 28, то есть операционной системе Android 9 Pie. В комплект входят системные образы, библиотеки платформы, документация и исходники, необходимые для компиляции приложений под эту версию. Ниже разберём, что входит в пакет, как его установить, какие параметры указать в build.gradle и как устранить типичные сбои.

Что такое Android SDK 28 и зачем он нужен

Под термином «Android SDK 28» обычно понимают платформу Android SDK Platform 28 вместе с сопутствующими компонентами: SDK Build-Tools, эмулятором и системными образами. Именно против этой платформы компилятор проверяет вызовы API, доступные в Android 9.

Вам может понадобиться именно 28-й уровень API в нескольких ситуациях: поддержка legacy-проекта, требование заказчика, проверка совместимости со старыми устройствами или сборка библиотеки, где зафиксирована конкретная версия. Необходимо понимать, что compileSdkVersion влияет только на этап компиляции — реальное поведение на устройстве определяется связкой minSdkVersion и targetSdkVersion.

  • 📱 minSdkVersion — минимальная версия Android, на которой приложение запустится;
  • 🎯 targetSdkVersion — версия, под поведение которой оптимизировано приложение;
  • 🛠️ compileSdkVersion — платформа, против которой идёт сборка (здесь и указывается 28);
  • 📦 buildToolsVersion — версия утилит сборки, должна быть совместима с платформой.

Установка Android SDK 28 через SDK Manager

Самый надёжный способ — установка через встроенный SDK Manager в Android Studio. Откройте File → Settings → Appearance & Behavior → System Settings → Android SDK (на macOS путь начинается с Android Studio → Preferences). Во вкладке SDK Platforms отметьте Android 9.0 (Pie) — это и есть API 28.

Затем перейдите на вкладку SDK Tools, включите опцию Show Package Details и убедитесь, что установлена совместимая версия Android SDK Build-Tools. Нажмите Apply и дождитесь загрузки пакетов. После этого выполните синхронизацию проекта через File → Sync Project with Gradle Files.

☑️ Проверка после установки SDK 28

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

Если предпочитаете командную строку, используйте утилиту sdkmanager из каталога SDK:

sdkmanager "platforms;android-28" "build-tools;28.0.3"
⚠️ Внимание: перед установкой пакетов через sdkmanager необходимо принять лицензии командой sdkmanager --licenses, иначе сборка в CI или из терминала будет падать с ошибкой лицензирования.

Настройка build.gradle под API 28

Чтобы проект собирался против Android SDK 28, укажите параметры в файле build.gradle уровня модуля. Типовой блок выглядит так:

android {

compileSdkVersion 28

defaultConfig {

minSdkVersion 21

targetSdkVersion 28

}

}

Обратите внимание на зависимости: для API 28 используются библиотеки поддержки семейства com.android.support:28.0.0 — это последняя ветка support library, дальнейшее развитие продолжилось только в AndroidX. Если проект переведён на AndroidX, смешивать старые support-зависимости с новыми нельзя — возникнут конфликты классов при сборке.

Совместимость версий: таблица компонентов

Подбор согласованных версий — ключевой момент. Ниже приведены общепринятые соответствия для работы с API 28; конкретные версии Gradle и плагина зависят от вашей версии Android Studio, поэтому сверяйтесь с официальной документацией по совместимости.

КомпонентРекомендуемое значениеПримечание
compileSdkVersion28Требует установленную платформу Android 9.0
Build-Tools28.0.3Финальная ревизия ветки 28
Support Library28.0.0Последний релиз support library
Android Gradle Plugin3.2.x – 3.5.xЗависит от версии Android Studio
targetSdkVersion28Включает поведенческие изменения Android 9
📊 Для какой задачи вам понадобился Android SDK 28?
Поддержка старого проекта
Требование заказчика
Тестирование на Android 9
Изучение разработки

Поведенческие изменения Android 9 (API 28)

При выставлении targetSdkVersion 28 приложение начинает работать по правилам Android 9, и это нужно учитывать. Ключевое изменение — запрет незашифрованного HTTP-трафика по умолчанию: cleartext-запросы блокируются, если явно не разрешены в networkSecurityConfig или атрибуте android:usesCleartextTraffic="true" в манифесте.

Также в Android 9 ужесточены ограничения на фоновую работу: доступ к микрофону, камере и датчикам из фоновых сервисов ограничен, а для фонового выполнения задач рекомендуется использовать WorkManager или foreground-сервисы с уведомлением. Ещё одно заметное изменение — поддержка вырезов экрана (display cutout) через layoutInDisplayCutoutMode.

⚠️ Внимание: если ваше приложение обращается к серверу по HTTP и после установки targetSdkVersion 28 перестало получать данные, проверьте в первую очередь настройки сетевой безопасности — это наиболее вероятная причина.
Как временно разрешить HTTP-трафик

Добавьте в тег application манифеста атрибут android:usesCleartextTraffic="true". Более безопасный вариант — создать res/xml/network_security_config.xml и разрешить cleartext только для конкретных доменов, а затем сослаться на файл через android:networkSecurityConfig.

Типичные ошибки при работе с SDK 28

Разберём сбои, которые чаще всего встречаются при сборке проектов под API 28. Первое, что стоит проверить при любой ошибке платформы, — совпадает ли путь к SDK в local.properties с реальным расположением каталога, особенно если проект переносился с другого компьютера.

  • Failed to find Platform SDK — платформа android-28 не установлена; установите её через SDK Manager;
  • Licenses not accepted — выполните sdkmanager --licenses и подтвердите все пункты;
  • Program type already present — конфликт support library и AndroidX; проведите миграцию или выровняйте зависимости;
  • Cleartext HTTP traffic not permitted — настройте networkSecurityConfig, как описано выше.

Если ошибка не воспроизводится по описанным сценариям, полезно выполнить Build → Clean Project и File → Invalidate Caches / Restart — устаревшие кэши Gradle нередко маскируют реальную причину сбоя.

Часто задаваемые вопросы

Чем SDK 28 отличается от SDK 29 и выше?

API 28 соответствует Android 9 Pie, а API 29 — Android 10. Основные различия касаются поведенческих изменений: scoped storage, ограничения на фоновый геолокацию и другие нововведения появились именно в 29-м уровне. Для старых проектов 28-й уровень часто остаётся «безопасной» точкой.

Можно ли собирать проект с compileSdkVersion 28 в новых версиях Android Studio?

Да, новые версии Android Studio позволяют компилировать против старых платформ — достаточно установить Android 9.0 через SDK Manager. Однако очень старые версии Gradle-плагина могут быть несовместимы с новой IDE, и их придётся обновить с правкой конфигурации.

Где скачать Android SDK 28 отдельно от Android Studio?

Отдельного дистрибутива платформы не существует — пакеты загружаются через SDK Manager или утилиту командной строки sdkmanager из состава command line tools с официального сайта Android Developers.

Нужно ли устанавливать системные образы для API 28?

Образы нужны только для запуска эмулятора на Android 9. Если вы тестируете на физическом устройстве, достаточно платформы и Build-Tools — это сэкономит место на диске.

Что делать, если Gradle требует более новый compileSdkVersion?

Некоторые свежие библиотеки требуют compileSdkVersion выше 28. В таком случае либо понизьте версию проблемной библиотеки до совместимой, либо поднимите compileSdkVersion — это не меняет поведение приложения на устройстве, если targetSdkVersion остаётся прежним.