Сводная таблица версий Android и API Level (1.5–14+)

Краткий ответ: API Level — это числовой идентификатор платформы. Примеры соответствия: Android 1.5 — API 3 (Cupcake), Android 4.4 — API 19 (KitKat), Android 10 — API 29, Android 13 — API 33, Android 14 — API 34. Ниже — удобная таблица и практические советы по использованию.

Таблица соответствия версий, API Level и кодовых имен

Полезная таблица соответствия версий Android и API Level

Версия AndroidAPI LevelКодовое имяSDK-метка
1.53Cupcakeandroid-3
1.64Donutandroid-4
2.05Eclairandroid-5
2.0.16Eclairandroid-6
2.17Eclairandroid-7
2.28Froyoandroid-8
2.3–2.3.29Gingerbreadandroid-9
2.3.3–2.3.710Gingerbreadandroid-10
3.011Honeycombandroid-11
3.112Honeycombandroid-12
3.213Honeycombandroid-13
4.0–4.0.214Ice Cream Sandwichandroid-14
4.0.3–4.0.415Ice Cream Sandwichandroid-15
4.1.x16Jelly Beanandroid-16
4.2.x17Jelly Beanandroid-17
4.3.x18Jelly Beanandroid-18
4.419KitKatandroid-19
4.4W (Wear)20KitKat (Wear)android-20
5.021Lollipopandroid-21
5.122Lollipopandroid-22
6.023Marshmallowandroid-23
7.024Nougatandroid-24
7.125Nougatandroid-25
8.026Oreoandroid-26
8.127Oreoandroid-27
928Pieandroid-28
1029Android 10android-29
1130Android 11android-30
1231Android 12android-31
12L32Android 12Landroid-32
1333Android 13android-33
1434Android 14android-34
15 (preview / зарезерв.)35+Android 15 (preview)android-35 (preview)

Держите эту таблицу под рукой при настройке minSdkVersion/targetSdkVersion/compileSdkVersion — по числу API легче понимать совместимость, чем по маркетинговому названию.

Как применять таблицу на практике

  • При настройке Gradle: minSdkVersion указывайте по API (например, minSdkVersion 21 — значит поддержка с Android 5.0 Lollipop и выше). targetSdkVersion и compileSdkVersion используйте равными последней стабильной API или той, под которую вы целитесь.
  • При выборе AVD в Android Studio — подберите минимум одно устройство для каждого важного диапазона API, а не по всем маркетинговым именам.
  • При чтении документации: проверяйте требуемый API Level для конкретной функции (аннотации вроде @RequiresApi(21) указывают на API).

Не полагайтесь на маркетинговое название устройства: кастомные прошивки могут менять строку "Android X", но уровень API в системе — единственный надёжный индикатор поддерживаемых API.

Рекомендации и частые ошибки

  • Всегда фиксируйте в документации одновременно маркетинговую версию и API Level.
  • При обновлении compileSdkVersion проверьте breaking changes и deprecations в релиз-нотах платформы.
  • Не снижайте minSdkVersion, не протестировав приложение на целевых устройствах с более старыми API.
  • Ошибка: использование в коде API-функций без проверки уровня — защищайте вызовы проверками Build.VERSION.SDK_INT или аннотациями.

Частые ошибки

  • Путаница между targetSdkVersion и compileSdkVersion (они не равны minSdkVersion).
  • Ориентация по маркетинговому имени вместо API Level при анализе совместимости.
  • Отсутствие тестов на реальных устройствах/эмуляторах ключевых API-диапазонов.

FAQ

  • Как узнать API Level на устройстве? — В настройках: О телефоне → Информация о ПО → Уровень API/номер сборки; програмно — Build.VERSION.SDK_INT.
  • Можно ли использовать функцию из API 30 на устройстве с API 29? — Нет без полифиллов или условных проверок: функция будет недоступна.
  • Что такое preview API? — Это предварительная версия API для тестирования новых возможностей; в продакшн её не стоит использовать как compile/target без необходимости.

Если нужно, могу подготовить версию таблицы в CSV или упаковать её в файл для внутренней документации команды.