Android | |
---|---|
Разработчик | Open Handset Alliance[1] и Google |
Первый выпуск | 23 сентября 2008[2] |
Последняя версия | Android 11 (8 сентября 2020) |
Менеджеры пакетов | .APK (в основном через Google Play; установка APK также возможна локально или из альтернативных источников, таких как F-Droid, Amazon Appstore, Samsung Apps и др.) |
Поддерживаемые языки | русский, английский и ещё более 100 языков |
Поддерживаемые платформы | 32- и 64-битные: ARM, MIPS, x86, x86-64 |
Тип ядра | монолитное (модифицированное ядро Linux) |
Лицензия | Apache License 2.0 и GNU GPL 2 |
Состояние | поддерживаемая |
Репозиторий исходного кода | android.googlesource.com android-review.googlesource.com/… |
Веб-сайт | android.com |
Медиафайлы на Викискладе |
Android ([ˈandrɔɪd]; от греч. ἀνήρ — человек, мужчина + суффикс -oid - человекоподобный робот ; «Андро́ид»[~ 1]) — операционная система для смартфонов, планшетов, электронных книг, цифровых проигрывателей, наручных часов, фитнес-браслетов, игровых приставок, ноутбуков, нетбуков, смартбуков, очков Google Glass[3], телевизоров[4], проекторов и других устройств (в 2015 году появилась поддержка автомобильных развлекательных систем[5] и бытовых роботов).
Изначально разрабатывалась компанией Android, Inc., которую затем приобрела Google[6][7]. Основана на ядре Linux[8] и собственной реализации виртуальной машины Java от Google. Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA), который занимается поддержкой и дальнейшим развитием платформы.
Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit позволяет портировать библиотеки и компоненты приложений, написанные на Си и других языках.
В 86 % смартфонов, проданных во всём мире во втором квартале 2014 года, была установлена операционная система Android[9]. На конференции разработчиков в мае 2017 года Google объявила, что за всю историю Android было активировано более 2 млрд Android-устройств.
11 июля 2005 года корпорация Google купила компанию Android, Inc.[6][7] за 130 миллионов долларов.
5 ноября 2007 года компания официально объявила о создании Open Handset Alliance (OHA) и анонсировала открытую мобильную платформу Android[10], а 12 ноября 2007 года альянс представил первую версию пакета для разработчиков Android «Early Look» SDK (известную также как Android SDK m3-rc20a) и эмулятор Android[6][11].
Кодовое имя каждой версии операционной системы Android ранее представляло собой название какого-либо десерта (это справедливо для версий с 1.5[12][13] по 9[14]). Первые буквы наименований в порядке версий соответствуют буквам латинского алфавита: 1.5 Cupcake («кекс»), 1.6 Donut («пончик»), 2.0/2.1 Eclair («эклер»), 2.2 Froyo (обозначение десерта «замороженный йогурт[en]» — от англ. frozen yogurt), 2.3 Gingerbread («имбирный пряник»), 3.0 Honeycomb («пчелиные соты»), 4.0 Ice Cream Sandwich («мороженое в вафлях[en]», в виде брикета), 4.1/4.2/4.3 Jelly Bean («желейные бобы[en]» — вид конфет), 4.4 KitKat (в честь одноимённого бренда шоколадных батончиков[15]), 5.0/5.1 Lollipop («леденец на палочке»), 6.0 Marshmallow («маршмэллоу»), 7.0 Nougat («нуга»), 8.0 Oreo (печенье «Oreo»), 9.0 Pie («пирог»). Традиция наименования версий Android в честь сладостей прекратилась с выходом Android 10[14].
23 сентября 2008 года официально вышла версия 1.0 (до этого были неофициальные 0.5, 0.6 и 0.9 версии в виде эмулятора) операционной системы[16][17], а также первый полноценный пакет разработчика SDK 1.0, Release 1[18][19] и к октябрю 2008 версия 1.0 уже дебютировала на настоящем аппарате T-Mobile G1 (также известном как HTC Dream). С момента выхода первой версии платформы произошло несколько обновлений системы. Эти обновления, как правило, касаются исправления обнаруженных ошибок и добавления новой функциональности в систему.
В 2009 году было представлено целых четыре обновления платформы. Так, в феврале вышла версия 1.1, но с исправлением различных ошибок[20]. В апреле[21] и сентябре[22] вышли ещё два обновления — 1.5 «Cupcake» («кекс») и 1.6 «Donut» («пончик»), соответственно. Обновление «Cupcake» привнесло существенные изменения: виртуальная клавиатура, воспроизведение и запись видео, браузер и другие[23]. В «Donut» впервые появились поддержка различных разрешений и плотности экрана и сетей CDMA[20]. В октябре того же года вышла версия операционной системы Android 2.0 «Eclair»[24] («эклер») с поддержкой нескольких аккаунтов Google, поддержкой браузером языка HTML5 и других нововведений, а также после небольшого обновления в пределах версии «Eclair» (2) появились «живые обои» и был видоизменён экран блокировки[20].
В середине 2010 года[25] Google представила Android версии 2.2 под наименованием «Froyo» («замороженный йогурт»), а в конце[26] 2010 года — Android 2.3 «Gingerbread» («имбирный пряник»). После обновления «Froyo» стало возможно использовать смартфон в качестве точки доступа, использовать традиционную блокировку смартфона цифровым или буквенно-цифровым паролем и другие изменения, а обновление «Gingerbread» привнесло более полный контроль над функцией копирования и вставки, улучшение управления питанием и контроля над приложениями, поддержку нескольких камер на устройстве и т. д.[20]
22 февраля 2011 года[27] была официально представлена ориентированная на интернет-планшеты платформа Android 3.0 «Honeycomb» («пчелиные соты»)[28]. Исходный код этой версии так и не был открыт компанией Google в связи с опасениями портирования её на смартфоны, для которых она не была предназначена[29].
Android 4.0 «Ice Cream Sandwich» («сэндвич с мороженым»), вышедшая 19 октября 2011 года[30], — первая универсальная платформа, которая предназначена как для планшетов, так и для смартфонов[31][32]. Также обновление принесло новый интерфейс «Holo», который использовался до Android 4.4.4 KitKat.
В июне 2012 вышло обновление под названием «Jelly Bean» (желейная конфета) с порядковым номером 4.1[33], который сменился на 4.2 вследствие небольшого обновления в конце октября того же года[34] и на 4.3 после обновления в июле 2013[35].
31 октября 2013 года Google представила следующую версию операционной системы Android 4.4, которая получила название шоколадного батончика «KitKat» по соглашению с компанией-производителем Nestlé[36]. Впервые KitKat появился на Nexus 5; эта версия Android оптимизирована для работы на более широком наборе устройств, имеющих 512 МБ ОЗУ и экран с разрешением 800x480 пикс. в качестве рекомендуемого минимума. Также, в качестве тестовой опции, в настройках разработчика стала доступна виртуальная машина ART.
25 июня 2014 Google представили Android L, доступный для разработчиков, пользователей смартфонов Nexus, а также некоторых других смартфонов[37].
15 октября 2014 года была официально анонсирована Android 5.0 Lollipop (леденец). Главные обновления системы — новый дизайн Material Design и полный переход к виртуальной машине ART. Также, если на Android-устройстве установлен пароль или графический ключ и если поблизости находятся часы хозяина устройства с Android Wear, то устройство автоматически разблокируется.
9 декабря 2014 Google заменила официальную среду разработки, основанную на Eclipse (adt-bundle), на Android Studio[38][39].
В 2015 году была анонсирована операционная система для носимых устройств Android Wear (позже Wear OS). Также на Google IO были представлены версии Android Auto (для автомобилей) и Android TV (для телевизоров), таким образом Android перестал быть операционной системой только для мобильных устройств.
29 мая 2015 Google представила Android M. По словам Google, главная цель новой операционной системы — улучшить пользовательский опыт общения со смартфоном, сделать взаимодействие интуитивнее и проще[40]. 17 августа 2015 официально стало известно, что эта версия получила название Android 6.0 Marshmallow[41](зефир).
19 мая 2016 года на конференции разработчиков Google I/O была представлена Android N, а 1 июля Google официально объявила название этой версии Android — Android 7.0 Nougat[42]. Рассылка финальной версии операционной системы стартовала 22 августа 2016 года. Поддерживаемые устройства: Huawei Nexus 6P, LG Nexus 5X, Motorola Nexus 6, HTC Nexus 9, ASUS Nexus Player, Google Pixel C и General Mobile 4G.[43]
В марте 2017 года был представлен Android O для разработчиков[44]. Пользовательская версия была выпущена 21 августа 2017 года как 8.0.0 Oreo[45]. 5 декабря 2017 года была выпущена стабильная сборка Android Oreo 8.1.
7 марта 2018 года Google выпустила Android P DP1, а первая бета-версия вышла 8 мая 2018 года, но не только для Pixel, также бету получили Sony Xperia XZ2, Nokia 7 Plus, Xiaomi Mi MIX 2s, Vivo X21, Oppo R15 Pro, Essential Phone, OnePlus 6. Рассылка релизной версии Android 9 Pie началась 6 августа 2018 года.
13 марта 2019 года Google начала открытое бета-тестирование ОС Android Q Beta 1, которая уже доступна для смартфонов Pixel всех поколений[46]. Всего компания собирается выпустить 6 бета-версий ОС. 3 апреля 2019 года вышла Android Q Beta 2, которая появилась в виде GSI-образов, кроме образов для смартфонов Pixel. С их помощью разработчики любого устройства, поддерживающего Project Treble, смогут поставить данную версию ОС для ознакомления и тестирования своих программ. Также Google начала тестирование жестов, похожих на жесты с iPhone X, ответы в мессенджерах в всплывающих окнах, не заходя в само приложение, управление воспроизведением мультимедиа в шторке и новое управление громкостью.
3 сентября 2019 года Google выпустила стабильную версию Android 10 для смартфонов семейства Pixel[47].
19 февраля 2020 года Google выпустила developer-preview-версию Android 11 для смартфонов семейства Pixel (за исключением смартфонов Pixel 1-го поколения).
19 февраля 2021 года Google выпустила Android 12 Developer Preview для смартфонов семейства Pixel, за исключением смартфонов Pixel/Pixel XL и Pixel 2/Pixel 2 XL.
Первым устройством, работающим под управлением Android, стал разработанный компанией HTC смартфон HTC Dream (официально выпущен сотовым оператором T-Mobile под названием T-Mobile G1), презентация которого состоялась 23 сентября 2008 года[48]. Вскоре последовали многочисленные заявления других производителей смартфонов о намерении выпустить устройства на базе Android. В России первым Android-смартфоном, поступившим в продажу (июль 2009 года), стал Highscreen PP5420[49]. С выходом Android третьей версии (Honeycomb), ориентированной на планшеты[50], всё больше производителей стало объявлять и о выпуске планшетов на этой платформе[51]. Также компания Google в сотрудничестве с разными компаниями выпускала собственные устройства в серии «Google Nexus». Именно эти устройства первыми получают обновления до новых версий. Начиная с 2016 года линейку смартфонов Nexus заменили устройства собственного производства Google под именем «Google Pixel».
Кроме смартфонов и планшетов, операционную систему Android устанавливают и на другие устройства. Так, в конце 2009 года появилась в продаже первая фоторамка, работающая на Android[52][53]. В июне 2011 года итальянская компания Blue Sky анонсировала выпуск интеллектуальных наручных часов i’m Watch под управлением ОС Android[54]. В августе 2012 года Nikon представила первую в мире фотокамеру, которая также работает на Android[55]. В серии «Google Nexus» присутствуют не только смартфоны и планшеты, но и медиаплеер Nexus Q, работающий на Android[56] и Nexus Player.
Кроме того, энтузиасты портировали Android на ряд известных устройств, среди которых, например, смартфоны на платформе Windows Mobile HTC Touch Dual и HTC TyTN II, на которых Android был запущен в режиме эмуляции[57]. Также было осуществлено полноценное портирование на такие устройства, как интернет-планшеты, работающие на Maemo, — Nokia N810[58] и Nokia N900 (порт под названием Nitdroid)[59][60], на смартфоны Nokia N9[61], работающие на платформе MeeGo, и HTC HD2, работающий на операционной системе Windows Mobile, на котором ОС Android можно запускать как с microSD-карты, так и с внутренней NAND-памяти. При этом установленная система имеет полную, ничем особо не ограниченную функциональность. Помимо этого, есть удачный опыт установки Android на некоторые устройства Apple — iPhone, iPod Touch и iPad[62] с помощью специальной программы под названием Openiboot, которая предназначена для запуска на данных устройствах разнообразных ОС, в том числе и Android. Вышли прошивки с ограниченной функциональностью на устройствах на операционной системе Bada. Компания Koolu не только занялась портированием Android на Neo FreeRunner, но и строила свой бизнес на продаже этих смартфонов с предустановленной мобильной платформой от Google. Первый официальный и общедоступный бета-релиз порта Android на Neo FreeRunner от Koolu состоялся в декабре 2008 года[63]. Также Android портирован на архитектуру x86[64].
В октябре 2012 года исполнительный директор компании Ларри Пейдж сообщил, что было активировано уже более 500 миллионов смартфонов и планшетов на базе Android, а также заявил, что ежедневно активируется 1,3 миллиона устройств на базе этой операционной системы[65]. В начале сентября 2013 года было объявлено о том, что в мире уже активировано свыше миллиарда устройств на Android[66]. 29 сентября 2015 года СЕО Google Сундар Пичаи отметил, что число пользователей устройств на базе Android превысило 1,4 млрд. В мае 2017 года компания сообщила о 2 миллиардах активированных Android-устройств[67].
Приложения под операционную систему Android являются программами в нестандартном байт-коде для виртуальной машины Dalvik, для них был разработан формат установочных пакетов .APK. Для работы над приложениями доступно множество библиотек: Bionic (библиотека стандартных функций, несовместимая с glibc); мультимедийные библиотеки на базе PacketVideo OpenCORE (поддерживают такие форматы, как MPEG-4, H.264, MP3, AAC, AMR, JPEG и PNG); SGL (движок двухмерной графики); OpenGL ES 1.0 ES 2.0 (движок трёхмерной графики); Surface Manager (обеспечивает для приложений доступ к 2D/3D); WebKit (готовый движок для веб-браузера; обрабатывает HTML, JavaScript); FreeType (движок обработки шрифтов); SQLite (легковесная СУБД, доступная для всех приложений); SSL (протокол, обеспечивающий безопасную передачу данных по сети). По сравнению с обычными приложениями Linux, приложения Android подчиняются дополнительным правилам[68]: Content Providers — обмен данными между приложениями; Resource Manager — доступ к таким ресурсам, как файлы XML, PNG, JPEG; Notification Manager — доступ к строке состояния; Activity Manager — управление активными приложениями.
Google предлагает для свободного скачивания инструментарий для разработки (Software Development Kit), который предназначен для x86-машин под операционными системами Linux, macOS (10.4.8 или выше), Windows XP, Windows Vista и Windows 7. Для разработки требуется JDK 5 или более новый.
Разработку приложений для Android можно вести на языке Java (не ниже Java 1.5). Существует плагин для Eclipse — Android Development Tools (ADT), предназначенный для Eclipse версий 3.3—3.7. Также существует плагин для IntelliJ IDEA, облегчающий разработку Android-приложений[69], и для среды разработки NetBeans IDE[70], который, начиная с версии NetBeans 7.0, перестал быть экспериментальным, хоть пока и не является официальным. Кроме того, существует Motodev Studio for Android — комплексная среда разработки на базе Eclipse, позволяющая работать непосредственно с Google SDK.
В 2009 году в дополнение к ADT был опубликован Android Native Development Kit (NDK)[71] — пакет инструментариев и библиотек, позволяющий реализовать часть приложения на языке С/С++. NDK рекомендуется использовать для разработки участков кода, критичных к скорости.
В 2013 году Google представила новую среду разработки Android Studio, основанную на IntelliJ IDEA от JetBrains.
В 2013 году состоялся релиз Embarcadero RAD Studio — XE5. Возможность разработки нативных приложений для платформы Android. Процесс создания Android приложения не требует дополнительных устройств, кроме, собственно, Android-устройства (в принципе, можно обойтись и эмулятором).
В Android 4.4 появилась возможность сменить виртуальную машину Dalvik на ART (Android Runtime). ART отличается повышенной скоростью загрузки приложения. Проработан механизм оптимизации памяти.
В Android 5 перерисован дизайн, базирующийся на концепции Material Design, добавлен режим энергосбережения Project Volta, выбор машины пропал, вместо Dalvik стала использоваться ART.
В Android 6 появился интеллектуальный режим расхода энергии Doze и запрет выхода в Интернет и работы в фоне давно не используемых приложений App Standby.
Для стимулирования разработчиков в ноябре 2007 года компания Google объявила конкурс Android Developer Challenge с призовым фондом в 5 млн долларов[6][72]. Участникам конкурса предлагалось создать любое приложение из самых разных областей — социальные сети, работа с информацией различного типа, игры и т. д.[73] Мероприятия конкурса ADC проходили в 2008 году и закончились награждением 50 финалистов крупными денежными призами (25—275 тыс. долларов)[74].
27 мая 2009 года был объявлен новый конкурс ADC2 с призовым фондом в 2 млн долл. (главный приз — 250 тыс. долл.)[75]. Подача приложений на конкурс продолжалась с 24 по 31 августа 2009 года. С 24 сентября по 6 октября в рамках первого раунда ADC2 пользователи путём голосования отбирали приложения для участия во втором раунде. 5 ноября был опубликован список из 200 лучших приложений (по 20 приложений в каждой из 10 категорий), попавших во второй раунд, и началось голосование пользователей за эти приложения. 24 ноября голосование во втором раунде было закрыто, начал работу специальный комитет судей-экспертов, которые с учётом мнения пользователей отбирали лучшие приложения. 30 ноября был опубликован список победителей конкурса[76].
22 октября 2008 года Google объявила об открытии онлайн-магазина приложений для ОС Android — Android Market. По соглашению, разработчики получают 70 % прибыли, операторы сотовой связи — 30 %[77]. В феврале 2009 года для разработчиков из США и Великобритании появилась возможность брать плату за свои приложения в Android Market[78]. Компания Sony Ericsson первой запустила собственный канал в онлайн-магазине приложений Android Market. В нём представлены приложения и игры, которые рекомендованы компанией[79].
На декабрь 2011 года с момента создания Android Market было скачано 10 млрд приложений[80][81].
В марте 2012 года компания Google объединила мультимедийные сервисы «Книги», «Android Market», «Музыка» и другие в единый сервис Google Play[82]. Интернет-магазин Google Play работает в 190 странах[83] и насчитывает более 700 тысяч приложений, а за время работы сервиса набралось около 25 млрд скачиваний[84].
В мае 2017 года на конференции I/O был анонсирован набор сервисов Google Play Protect, предназначенный для защиты устройств с поддержкой сервисов Google Play[85].
22 октября 2008 года альянс OHA опубликовал исходный код платформы Android на открытом исходном коде Android: и операционная система, и промежуточное ПО (middleware), и основные конечные приложения, написанные на Java[86]. Общий объём исходного кода Android составил 2,1 ГБ. «Предпочтительной лицензией» на исходный код Android является лицензия Apache 2.0[87].
После выпуска Android 3.0 «Honeycomb» президент мобильного подразделения Google Энди Рубин заявил о том, что открытие исходного кода новой версии системы будет отложено по причине того, что система была плохо готова для запуска на коммуникаторах и требует значительных оптимизаций[88]. Это решение вызвало критические оценки аналитиков: например, обозреватель ZDNet Кристофер Доусон назвал такой ход Google разочаровывающим[89]. Но, согласно данным компанией обещаниям, Google открыла осенью 2011 года исходные коды следующей версии системы — Android 4.0 Ice Cream Sandwich[90].
Oracle обвинила Google в нарушении прав интеллектуальной собственности на Java и направила соответствующий иск в суд[91][92][93]. Подобные претензии к компании Google предъявили юристы компании Brown Rudnick LLP, обвинив разработчиков в том, что они нарушают лицензию GPL2 своей библиотекой Bionic[94]. Данное заявление вызвало неоднозначную реакцию в прессе[95][96][97], при этом ряд экспертов пришёл к предварительному выводу, что обвинения, возможно, преждевременны[98].
31 мая 2012 года судья Уильям Алсуп (William Alsup) вынес решение по поводу правомерности претензий Oracle на обладание авторскими правами на 37 API, которые использует Google в платформе Android и дают возможность разработчикам создавать совместимые с Java коды. Согласно вердикту Алсупа, интерфейсы API, которые являются предметом рассмотрения в споре Oracle — Google, не могут быть объектом защиты авторского права: «Поскольку специфический код, используемый при реализации методики, различается, каждый в соответствии с законом об охране авторских прав может написать свой собственный код для выполнения точно такой же функции или спецификаций, или же других методов, используемых в Java API. Не имеет значения, что декларации или заглавные строки методики являются идентичными. Когда существует лишь один путь для воплощения идеи или функции, каждый волен делать это, и никто не вправе монополизировать данный способ воплощения»[99]. Впрочем, после апелляции в вышестоящей инстанции корпорации Oracle удалось добиться отмены трактовок судьи Алсупа касательно защиты интерфейсов программирования авторским правом, и дело вернулось на пересмотр с учётом вердикта Апелляционного суда[100].
В 2016 году Oracle увеличила сумму иска к Google с 1 до 9,3 млрд долларов США[101]. В конце мая 2016 года суд присяжных вынес решение в пользу Google, но Oracle собирается обжаловать решение жюри[102][103].
Существует бесчисленное количество операционных систем на основе открытого исходного кода Android (форков), в сообществе их называют «оболочки Android».[104] Данные продукты в основном разрабатываются производителями мобильных телефонов и планшетов для дополнения системы новым функционалом, улучшения качества работы своих устройств и другой модификации системы под свои нужды[105], внедрения в систему своих сервисов вместо Google Play Services, которые собирают личную информацию о пользователях, например о перемещении пользователя в реальном времени, что привело к судебному разбирательству[106], своей собственной поддержки операционной системы, например — своих обновлений, которые могут не зависеть от версии Android и предоставлять один и тот же функционал на разных версиях Android[107]. Большинство оболочек Android предоставляют свои алгоритмы безопасности пользователей, но в то же время используют патчи безопасности для Android[108]. На оболочках Android, так же как и на большинстве других Unix-подобных операционных систем, можно получить root-доступ (права суперпользователя), но это автоматически ставит устройство под угрозу, так как, если вирусное ПО получит доступ к правам суперпользователя, оно может сильно повредить устройство, как системно, так и физически; также не опытный пользователь может повредить устройство самостоятельно, поэтому разработчики отключают возможность получить права суперпользователя и блокируют загрузчик у своих устройств[109], а при их использовании производитель имеет право аннулировать гарантию и отказаться в дальнейшей поддержке устройства[110]. Также при разблокировке загрузчика устройства, если такая возможность представлена производителем[109], смартфон теряет безопасность, злоумышленник может перепрошить смартфон на модифицированную прошивку без алгоритмов защиты операционной системы от кражи или перепрошить на прошивку на базе другой оболочки Android[111].
libc
.
Издание PC Magazine присвоило операционной системе Android 4.0 Ice Cream Sandwich награду «Выбор редакции», отметив, что новая версия ОС принесла платформе множество улучшений, в том числе устранив различия между смартфонной и планшетной системами[125].
В марте 2012 года газета «Ведомости» сообщила, что Android смог выиграть российский рынок планшетных компьютеров у своего главного конкурента — Apple. Причиной тому аналитики назвали то, что Apple задерживает премьеры своих устройств на несколько месяцев. Одновременно с этим покупателям предлагались их «андроидные» аналоги по более низкой цене[126].
Android 4.0 Ice Cream Sandwich получила «золото» за лучшую платформу на 2012 User Experience Awards[127].
<ref>
; для сносок lits
не указан текст