Проблема
Вы постоянно слышите такие названия, как Ice Cream Sandwich, Jelly Bean, Lollipop, KitKat, Marshmallow и Nougat, поэтому (как программист Android) должны знать, что все это означает.
Обсуждение
Существует множество версий платформы Android, и каждая имеет номер, кодовое имя и уровень API. Номер версии формируется как обычно: 2.1, 2.3.3, 3.0, 4.0, 5.0, 6.0 и т.д. Если меняется первая цифра версии, значит, появилось множество новых интерфейсов прикладного программирования; если меняется вторая цифра (а иногда и кодовое имя), значит, произошла скорее эволюция, чем революция; если же изменяется только третья цифра, значит, произошла незначительная модификация. Уровни API пронумерованы последовательно. Имена кодов выбираются в алфавитном порядке и всегда относятся к сладостям (почему, интересно да,). Уровни API 1 и 2 официально не имеют кодовых имен.
Обратите внимание: система Android обладает обратной совместимостью в обычном смысле: приложение, созданное для более ранней версии, будет работать на более новой версии Android, но не наоборот. Например, приложение, собранное для версии 1.5, должно работать без перекомпиляции на платформе Android 7. Но приложение, написанное и составленное на Android 7, вероятно, будет использовать вызовы API, которые не существуют на телефоне с платформой Android 1.5, поэтому на самом деле телефон откажется устанавливать новое приложение, если вы не примените некоторые трюки для управления версиями и обеспечения совместимости, которых мы коснемся позже. Основные версии Android перечислены в табл. 1.
Таблица 1. Версии Android
Версия | Уровень API | Название | Дата | Основные изменения/ примечания | CM версия |
1.0 | 1 | 2008-09-23 | |||
1.1 | 2 | 2009-02-09 | |||
1.5 | 3 | Cupcake | 2009-04-30 | 3 | |
1.6 | 4 | Donut | 2009-09-15 | 4 | |
2.0 | 5 | Eclair | 2009-10-26 | 5 | |
2.1 | 7 | Eclair | 2010-01-12 | ||
2.2 | 8 | Froyo | 2010-05-20 | 6 | |
2.3 | 9 | Gingerbread | 2010-12-06 | Продолжительное время была наиболее распространенной версией | 7 |
2.3 | 10 | Gingerbread | |||
3.0 | 11 | Honeycomb | 2011-02-22 | Только для планшетов; выпуск исходного кода отложен | |
3.1 | 12 | Honeycomb | 2011-05-10 | ||
3.2 | 13 | Honeycomb | 2011-07-15 | ||
4.0 | 14 | Ice Cream Sandwich | 2011-10-19 | Одновременная поддержка планшетов и телефонов | 9 |
4.0.3 | 15 | Ice Cream Sandwich | 2011-12-16 | ||
4.1.2 | 16 | Jelly Bean | 2012-07-09 | 10 | |
4.2.2 | 17 | Jelly Bean | 2012-11-13 | 10.1 | |
4.3 | 18 | Jelly Bean | 2013-07-24 | 10.2 | |
4.4 | 19 | KitKat | 2013-10-31 | Совместный маркетинг с компанией Nestle (производителем шоколадных батончиков KitKat) | 11 |
5.0 | 21 | Lollipop | 2014-11-10 | 12 | |
6.0 | 23 | Marshmallow | 2015-10-05 | 13 | |
7.0 | 24 | Nougat | 2016-08-22 | 14.0 | |
7.1 | 25 | Nougat | 14.1 | ||
8.0 | 26 | Oreo | 2017-08-21 | Новый внешний вид уведомлений: точки уведомлений (Notification dots) |
|
В последнем столбце “Версия СМ” показаны номера основных версий системы CyanogenMod, долгое время считавшейся альтернативой платформе Android или публичной сборкой платформы Android. Система Cyanogen, основанная на проекте Android Open Source Project, была очень любима многими поклонниками открытых исходных кодов, потому что была независимой от компании Google, обеспечивала более легкий root-доступ и т.д. Когда это издание книги готовилось к печати, корпорация CyanogenMod, Inc. решила прекратить поддержку системы CyanogenMod, вынудив сообщество создать параллельный проект и переименовать его в LineageOS. Существует множество других публичных сборок платформы Android. Одна из них фокусируется на проблемах безопасности. Несколько других создаются людьми, часто посещающими группы XDA Developers. Некоторые коммерческие подразделения утверждают, что также предлагают публичные сборки; их можно найти в Интернете.
Конечно, эта таблица будет увеличиваться по мере выпуска новых версий, потому что платформа Android продолжает развиваться.