Как расшифровать номера версий Android вида x.y.z
Коротко: в формате x.y.z x — major (крупный релиз с новыми API и интерфейсом), y — minor (внутрирелизные улучшения и совместимость), z — patch (малые багфиксы и стабильностные исправления). Первые 200 символов дают ответ: для совместимости приложений важен API level, а для безопасности — security patch level; x.y.z — удобная для людей нотация платформы.
Оглавление {{TOC_AUTOMATIC}}
Что означает каждая часть x.y.z — подробнее
- x (major) — номер крупного релиза платформы: добавляет новые API, заметные изменения интерфейса и поведения. Пример: 12 → Android 12.
- y (minor) — минорное обновление внутри major: может вводить новые возможности, улучшать совместимость и исправлять важные баги, но обычно без новых больших API.
- z (patch) — маленькие обновления: исправления ошибок, оптимизации, иногда исправления уязвимостей. Часто встречается в сборках OEM как точечные обновления.
Формально платформа может опускать y и z (например «12» = «12.0.0»), но производители могут показывать разный видимый формат в настройках.
Почему важно понимать это отдельно от API level и security patch
- API level — числовая метка, определяющая набор доступных библиотечных API для приложений (minSdk/targetSdk ориентируются на API level). Номер x.y.z не всегда однозначно указывает API level.
- Security patch level — дата (YYYY‑MM‑DD), показывающая, какие ежемесячные исправления безопасности включены. Это независимая метка, не равная z.
- Build‑метки и кодовые имена (например Lollipop, Jelly Bean) используются для маркетинга и идентификации сборки у производителя, но для совместимости приложений ориентируйтесь на API level и security patch.
Видимый в настройках номер (например «12») может скрывать более точную внутреннюю версию («12.0.1») и актуальный security patch. Для диагностики используйте системные поля (ro.build.version, API level, security patch).
Примеры (разбор конкретных номеров)
Сопроводительная таблица по примерам
| Номер версии | Коротко | Типичные последствия |
|---|---|---|
| 4.1.3 | Major 4, minor 1, patch 3 | Небольшие исправления в рамках Jelly Bean; API level соответствует релизу 4.1. |
| 5.1.1 | Major 5, minor 1, patch 1 | MR для Lollipop — улучшения стабильности и исправления. |
| 12.0.1 | Major 12, minor 0, patch 1 | Точечный патч внутри Android 12; API level обычно не меняется, но исправлены баги/регрессии. |
Для разработчика: если API level не изменился между 12.0 и 12.0.1, новые API не появились — но багфиксы и поведение системы могли скорректировать работу приложения.
При тестировании приложения проверяйте не только видимый номер x.y.z, но и API level и security patch на реальном устройстве — это даст точную картину совместимости и безопасности.
Частые ошибки
- Путать x.y.z с API level — это разные вещи; приложение ориентируется на API level.
- Считать z эквивалентом security patch — нет: z — это часть версии платформы, security patch — дата с перечислением исправленных уязвимостей.
- Опираться только на отображаемую в настройках версию: производители могут сокращать представление (например «12» вместо «12.0.1»).
FAQ
-
Нужно ли обновляться с 12.0 на 12.0.1?
Если обновление включает исправления критичных багов или security patch — стоит. Проверяйте состав обновления в описании релиза. -
Изменится ли API level при переходе 12 → 12.0.1?
Обычно нет: patch‑релизы не добавляют новых API. Но убедитесь по официальной документации сборки. -
Как узнать точный API level и security patch на устройстве?
В настройках в разделе «О телефоне» смотрите «Уровень API/Версия Android» и «Security patch level» или используйте отладочную команду (adb) для чтения системных свойств.
Если нужно — добавлю инструкцию, как через adb и пункты меню получить ro.build.version, API level и security patch, а также таблицу с соответствием версий и API level для выбранных релизов.