Сводная таблица версий 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
| Версия Android | API Level | Кодовое имя | SDK-метка |
|---|---|---|---|
| 1.5 | 3 | Cupcake | android-3 |
| 1.6 | 4 | Donut | android-4 |
| 2.0 | 5 | Eclair | android-5 |
| 2.0.1 | 6 | Eclair | android-6 |
| 2.1 | 7 | Eclair | android-7 |
| 2.2 | 8 | Froyo | android-8 |
| 2.3–2.3.2 | 9 | Gingerbread | android-9 |
| 2.3.3–2.3.7 | 10 | Gingerbread | android-10 |
| 3.0 | 11 | Honeycomb | android-11 |
| 3.1 | 12 | Honeycomb | android-12 |
| 3.2 | 13 | Honeycomb | android-13 |
| 4.0–4.0.2 | 14 | Ice Cream Sandwich | android-14 |
| 4.0.3–4.0.4 | 15 | Ice Cream Sandwich | android-15 |
| 4.1.x | 16 | Jelly Bean | android-16 |
| 4.2.x | 17 | Jelly Bean | android-17 |
| 4.3.x | 18 | Jelly Bean | android-18 |
| 4.4 | 19 | KitKat | android-19 |
| 4.4W (Wear) | 20 | KitKat (Wear) | android-20 |
| 5.0 | 21 | Lollipop | android-21 |
| 5.1 | 22 | Lollipop | android-22 |
| 6.0 | 23 | Marshmallow | android-23 |
| 7.0 | 24 | Nougat | android-24 |
| 7.1 | 25 | Nougat | android-25 |
| 8.0 | 26 | Oreo | android-26 |
| 8.1 | 27 | Oreo | android-27 |
| 9 | 28 | Pie | android-28 |
| 10 | 29 | Android 10 | android-29 |
| 11 | 30 | Android 11 | android-30 |
| 12 | 31 | Android 12 | android-31 |
| 12L | 32 | Android 12L | android-32 |
| 13 | 33 | Android 13 | android-33 |
| 14 | 34 | Android 14 | android-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 или упаковать её в файл для внутренней документации команды.