android Википедия
У этого термина существуют и другие значения, см. Андроид (значения).Android | |
---|---|
Разработчик | Open Handset Alliance[2] и Google |
Основана на | ядро Linux и UNIX-подобные операционные системы |
Первый выпуск | 23 сентября 2008[3] |
Последняя версия |
|
Менеджеры пакетов | .APK (в основном через Google Play; установка APK также возможна локально или из альтернативных источников, таких как F-Droid, Яндекс.Store, Amazon Appstore, Samsung Apps и др.) |
Поддерживаемые языки | русский, английский и ещё более 100 языков |
Поддерживаемые платформы | 32- и 64-битные: ARM, MIPS, x86 |
Тип ядра | монолитное (модифицированное ядро Linux) |
Лицензия | Apache License 2.0 и GNU GPL 2 |
Репозиторий исходного а | android.googlesource.com android-review.googlesource.com/… |
Веб-сайт | android.com |
Медиафайлы на Викискладе |
Android ([ˈandrɔɪd]; от греч. ἀνήρ — человек, мужчина + суффикс -oid — человекоподобный робот ; «Андро́ид»[~ 1]) — операционная система для смартфонов, планшетов, электронных книг,
С днём рождения, Android: как изменялась операционная система от версии к версии
На днях Android исполнилось 10 лет. Десять лет назад в продажу поступил HTC Dream, первый коммуникатор с «зелёным роботом» на борту. Тогда Android был некрасивый, мало что умел, а предположить, что он станет убийцей iOS, могли только совершенно безумные оптимисты. Но с тех пор всё изменилось.
Давайте совершим краткий экскурс в историю и посмотрим, какой была эта мобильная ОС когда-то.
Android 1.0
Год релиза: 2008.
Функции: магазин приложений Android Market, виджеты и уведомления.
Первый Android вовсе не был похож на ту операционную систему, которую мы знаем и любим сегодня. Он был сырым настолько, что больше смахивал на бета-версию, и не имел привычного нам «сладкого» имени. Зато в Android 1.0 уже были уведомления — они здесь появились даже раньше, чем в iOS.
Ещё одна новаторская идея — магазин приложений. Тогда он именовался Android Market. Выбор программ в нём был невелик, но сам факт его наличия уже дорогого стоил. App Store появился только год спустя, потому что разработчикам из Купертино и в голову не могло прийти, что пользователям понадобятся какие-либо приложения, кроме уже установленных в их идеальном смартфоне.
Кроме того, Android 1.0 мог похвастаться виджетами на главном экране, которых у iOS тогда тоже не было. И наконец, первая версия Android уже была интегрирована с Gmail.
А вот чего в Android 1.0 не было, так это вменяемого красивого интерфейса и мультитача. Увеличивать и уменьшать картинки щипком, как сейчас, было невозможно. И экранной клавиатуры Android тогда тоже не имел — текст можно было ввести только через выдвижные клавиатуры, которыми оснащались коммуникаторы.
Android 1.5 Cupcake
Год релиза: 2009.Функции: сторонние виджеты, экранная клавиатура, сенсорное управление, автоповорот экрана, съёмка видео.
Первое крупное обновление, начиная с которого версии системы стали получать кодовые имена по названиям разных десертов.
Cupcake — первая версия Android, обладающая экранной клавиатурой, а также поддерживающая не только портретный, но и ландшафтный режим рабочего стола.
Следующая фича — сторонние виджеты. Хотя они были и в ранних версиях Android, пользователи не могли устанавливать собственные. В Cupcake компания Google позволила сторонним разработчикам создавать виджеты для своих приложений.
И наконец, Android Cupcake научился снимать видео. До этого пользователи могли только фотографировать.
Android 1.6 Donut
Год релиза: 2009.
Функции: поле быстрого поиска, новая галерея, голосовой поиск, управление жестами и поддержка разных размеров экрана.
В Android Donut разработчики Google наконец занялись интерфейсом и юзабилити ОС. Галерея стала удобнее, система начала поддерживать управление жестами (щипок, свайп и так далее). И именно в этой версии появилась такая узнаваемая фишка Android, как поле быстрого поиска, позволяющее находить информацию по ключевым словам не только в интернете с помощью Google, но и в локальных файлах, контактах и заметках без необходимости открывать какие-либо приложения.
В Donut также значительно переработали интерфейс Android Market. Количество приложений — как бесплатных, так и платных — в нём тоже изрядно выросло.
Android 2.0 Eclair
Год релиза: 2009.
Функции: карты Google Maps, поддержка HTML5 в браузере, экран блокировки, «живые» обои.
Eclair получил встроенное приложение Google Maps, из-за чего популярность устройств для GPS-навигации снизилась. Зачем покупать недешёвый девайс, подсказывающий, в какую сторону повернуть, если всё то же самое умеет смартфон на Android?
Браузер в Android Eclair обновился, получив поддержку HTML5 и возможность воспроизводить видео на интернет-страницах. Ещё одна фича Android 2.0 — экран блокировки с функцией swipe to unlock и регуляцией громкости музыки. Это позаимствовали у iPhone.
Android 2.2 Froyo
Год релиза: 2010.
Функции: Adobe Flash, раздача интернета по Wi-Fi.
Android Froyo был выпущен в 2010 году, и первым смартфоном, получившим это обновление, стал Nexus One. В Froyo появилась поддержка Adobe Flash, в лаунчере увеличили количество экранов, а «Галерею» в очередной раз обновили, сделав красивее и удобнее.
Появилась возможность раздавать мобильный интернет по Wi-Fi. А экран блокировки Android стал поддерживать ПИН-коды. Раньше смартфон можно было блокировать только графическим ключом.
Android 2.3 Gingerbread
Год релиза: 2010.
Функции: улучшение производительности и интерфейса, новая клавиатура, менеджер загрузок, копирование и вставка текста.
Одна из самых удачных версий Android в своё время. Внешний вид системы стал гораздо приятнее, настроек и возможностей кастомизации прибавилось, дизайн виджетов и домашнего экрана изменился.
Gingerbread оснастили улучшенной клавиатурой с поддержкой сенсорного ввода, что позволило пользователям нажимать сразу несколько клавиш и набирать текст быстрее. Но главное, версия Gingerbread добавила смартфонам поддержку фронтальной камеры. Для чего ещё использовать телефон, как не для селфи?
Android 3.0 Honeycomb
Год релиза: 2011.
Функции: интерфейс для планшетов, новый дизайн.
В 2010 году Apple представила первый iPad, и Google решила по примеру конкурента ворваться на рынок планшетов. Android 3.0 Honeycomb получил планшетный UI и новый дизайн. Отныне цветом интерфейса Android стал не зелёный (в тон роботу на логотипе), а тёмно-синий. Кроме того, Honeycomb окончательно отказался от физических кнопок. Теперь клавиши «Домой», «Назад» и «Меню» стали программными и разместились на нижней панели Android.
Правда, кроме этих фишек достоинств у Honeycomb не было. Система умудрялась тормозить даже на топовых планшетах. Google быстро открестилась от своего детища, поспешив перейти на следующую версию.
Android 4.0 Ice Cream Sandwich
Год релиза: 2011.
Функции: встроенный менеджер задач, оптимизация работы системы, единый дизайн, новый браузер.
История с Honeycomb и Ice Cream Sandwich у Google чем-то напоминает историю с Vista и «семёркой» у Microsoft. Windows 7 походила на доведённую до ума Vista, а ICS напоминал причёсанный Honeycomb. Новая версия Android сохранила виртуальные кнопки, а синее недоразумение, появившееся в Honeycomb, превратилось в унифицированный стильный дизайн. Быстродействие системы значительно выросло.
Вдобавок в Ice Cream Sandwich появились такие фишки, как разблокировка по лицу, контроль мобильного трафика, новые приложения почты и календаря и, наконец-то, неплохой встроенный браузер, который по крайней мере не хотелось заменить на сторонний сразу после покупки смартфона.
Android 4.1 Jelly Bean
Год релиза: 2012.
Функции: уменьшенная задержка отклика интерфейса, Google Now, поддержка профилей пользователей, настройка уведомлений, виджеты на экране блокировки.
Самым важным изменением в Jelly Bean стала функция Google Now, к которой можно быстро получить доступ с главного экрана. Google Now показывала события календаря, электронные письма, прогноз погоды и другие данные на одном экране. Google Now — это, по сути, прародитель цифрового ассистента Google Assistant.
Кроме того, в Jelly Bean серьёзно улучшили скорость отклика Android на сенсорные нажатия. Интерфейс стал более плавным, вплотную приближаясь к iOS. В новой версии изменились шрифты, прибавилось количество настроек и уведомлений. Виджеты теперь можно размещать на экране блокировки.
Android 4.4 KitKat
Год релиза: 2013.
Функции: улучшения быстродействия, белые иконки в строке уведомлений, команда «ОК, Google».
Android KitKat ещё больше преобразовал внешний вид системы. Синие иконки в строке уведомлений (там, где размещены часы и индикатор заряда) перекрасили в белый цвет, так что они стали смотреться гораздо более чётко и красиво. Правда, от сочетания чёрных и синих цветов пока что избавились не до конца.
Именно в KitKat появилась возможность обращаться к смартфону голосовой командой «ОК, Google». Кроме того, операционка получила новое приложение-звонилку, мессенджер Hangouts (который нельзя было удалить), а также возможность разворачивать приложения на весь экран, скрывая строку навигации.
Android 5.0 Lollipop
Год релиза: 2014.
Функции: Material Design, уменьшение расхода батареи, гостевой режим.
Android Lollipop — первая версия ОС, в которой Google перешла к своему Material Design. Теперь интерфейс системы стал самобытным и красивым, хотя и далеко не все приложения от сторонних разработчиков вписывались в него.
Новая версия операционки уменьшила расход аккумуляторов девайсов, в систему добавили поддержку изображений формата RAW и множество других улучшений. Android получил функцию «гостевой режим»: теперь можно передать свой смартфон в пользование друзьям, не переживая, что они там что-нибудь наворотят.
Кроме того, именно на Android 5.0 базировалась первая версия Android TV, которая до сих пор используется на множестве телевизоров и приставок.
Android 6.0 Marshmallow
Год релиза: 2015.
Функции: поддержка разблокировки через отпечатки пальцев, Android Pay, раздельная настройка громкости.
Android Marshmallow продолжил внедрять концепцию Material Design. По всей системе чёрные фоны меню заменили на белые, что сделало интерфейс чище и уютнее.
Появился обновлённый менеджер задач, который позволял проверить, сколько памяти использует то или иное приложение в последнее время. Ещё одна полезная фича — разделённые регуляторы громкости: можно отдельно изменять громкость уведомлений, звонков и музыки.
В новой версии операционной системы уделили немало внимания безопасности. Во-первых, Android-устройства стали поддерживать датчики отпечатков пальцев. Во-вторых, раньше все разрешения на доступ к тем или иным функциям смартфона приложения спрашивали при установке (и пользователь их, естественно, не читал). В обновлённой же ОС запросы появляются, когда приложения пытаются получить доступ к файловой системе или функциям смартфона, по мере необходимости.
Android 7.0 Nougat
Год релиза: 2016.
Функции: поддержка очков VR, разделение экрана, Google Assistant.
Главное изменение в Nougat — замена малополезного Google Now на Google Assistant. Кроме того, система научилась группировать обновления, а внешний вид их изменился в лучшую сторону.
Но что действительно круто в Nougat, так это режим разделённого экрана. Теперь можно разместить на экране смартфона одновременно два приложения, чтобы комфортно скроллить страницы, переписываться в чатах и смотреть YouTube, не утруждая себя переключением между приложениями.
Android 8.0 Oreo
Год релиза: 2017.
Функции: «картинка в картинке», новые иконки и настройки.
Актуальная версия системы. Android Oreo продолжает двигаться в сторону многозадачности. Появившаяся в нём фишка «картинка в картинке» позволяет смотреть видео в небольшом всплывающем окне над основным приложением — это ещё удобнее, чем разделённый экран.
Уведомления в Oreo получили ещё больше настроек, стали гибче и полезнее. Их теперь можно сортировать по важности, а также откладывать на потом, если вам некогда читать их.
В Oreo добавили новые эмоджи и иконки, функцию автоматического включения Wi-Fi и умный выбор текста.
Android 9.0 Pie
Год релиза: 2018.
Функции: управление исключительно жестами, адаптивная батарея, новый дизайн.
Эта версия начинает постепенно замещать Oreo. Android Pie принёс множество изменений в интерфейсе. От панели навигации с кнопками «Домой», «Назад» и «Меню» решено избавиться — теперь система управляется исключительно жестами. Элементы управления стали красивее и приобрели мягкую округлую форму. Android Pie получил улучшенную поддержку смартфонов с вырезами и «чёлками» на экране.
Google, видимо, озабочена тем, что люди всё больше зацикливаются на своих гаджетах. Новая функция Digital Wellbeing в Android Pie позволяет вам обуздать свою цифровую зависимость, отображая подробную статистику о том, сколько часов вы проводите со смартфоном и как его используете. А App Timers может ограничить время, отведённое на игры и развлечения.
Подробнее о нововведениях в Android 9.0 Pie вы можете узнать из нашего обзора.
Android проделал большой путь. Что с ним будет дальше? Скорее всего, скоро мы увидим новую версию — Android Q. Хотя Google уже не первый год вынашивает планы о замене Android на Fuchsia OS.
Читайте также
Наглядная история развития трех главных ОС мобильного рынка — «Хакер»
За последние годы мобильный рынок изменился настолько сильно, что сегодня даже топовый смартфон пятилетней давности выглядит нелепо и смешно. Развитие мобильных ОС двигалось семимильными шагами, и от господствовавших когда-то Symbian и Windows Mobile не осталось ничего, кроме воспоминаний. В том, что произошло за последние пять лет и почему изменения оказались столь глобальными, мы попытаемся разобраться в этой статье.
2007 год стал одним из самых важных в истории развития карманных компьютеров и смартфонов. Именно в этом году, 9 января, на выставке Macworld Conference & Expo был представлен iPhone, перевернувший все представления пользователей о смартфонах. После презентации «телефона Стива Джобса» все остальные смартфоны мгновенно стали устаревшими, причем настолько, что, будь iPhone выпущен на год позже, ситуация нисколько бы не изменилась.
Именно iPhone задал тот стиль взаимодействия со смартфоном, к которому мы привыкли сегодня. Никаких клавиш управления, никакого стилуса и мелких элементов на экране, никакого джойстика, место которых заменили большой четкий экран, по-настоящему умная операционная система, рабочий стол, подобный Mac OS X, полноценный веб-браузер и концепция «нескольких касаний» для доступа к любой функции девайса. Выпущенный на рынок в июне, iPhone стал абсолютным хитом продаж на несколько лет вперед и принес яблочной компании миллиардные прибыли.
Интересно, что в техническом плане iPhone вовсе не был прорывом. Практически все находки, приписываемые Стиву Джобсу и Apple, существовали и ранее, но, как это всегда бывало с Apple, они первые догадались собрать все лучшее вместе и реализовать это на таком высоком уровне. Во многом это удалось благодаря использованию полноценной ОС, которая фактически была форком настольной Mac OS X и, как следствие, обладала широчайшими возможностями для создания приложений. Они могли задействовать в своей работе любые функции телефона, в том числе 3D-ускоритель, благодаря которому интерфейс iPhone OS работал на удивление плавно и быстро.
Первая версия iPhone OS не обладала какой-то особенной функциональностью, но предлагала пользователям достаточно полный стек приложений для повседневной работы, включая умную адресную книгу, браузер, проигрыватель мультимедиафайлов, планировщик, почтовый клиент, будильник и другие. Для всего остального же, как это ни странно, Стив Джобс предлагал использовать веб-приложения, которые уже в то время прекрасно работали в мобильной версии Safari. Поддержка же сторонних приложений не была предусмотрена как таковая и появилась только во второй версии операционной системы, которая была выпущена ровно через год после начала продаж первого iPhone.
2007-й стал также годом анонса Android, который явно произошел под давлением стремительно набирающего популярность продукта от Apple. Тогда Android фигурировал только в виде бета-версии комплекта для разработчиков (SDK), оснащенного эмулятором, в котором можно было вживую «покрутить» ОС.
12 ноября SDK был выложен в Сеть, и любой пользователь или разработчик мог составить свое личное впечатление от ОС и решить для себя, стоит ли она его внимания. И впечатления большинства людей оказались очень неоднозначными. Сразу бросалось в глаза подозрительное сходство с iPhone OS; Android выглядел какой-то нелепой копией операционной системы для iPhone, намного менее эффектной, но фактически повторявшей ее. Во-вторых, Google пошла по немного странному, но логичному пути, оснастив ОС виртуальной машиной Dalvik, исполняющей свой собственный формат байт-кода, который генерировался из байт-кода Java-приложений.
Samsung Galaxy Nexus под управлением Android 4.0Однако главной чертой ОС стала ее явная недоработанность, вызванная погоней за стремительно набирающей популярность iPhone OS. В первом Android’е не было даже таких простых вещей, как наэкранная клавиатура, поддержка Bluetooth и OpenGL, виртуальная машина исполняла байт-код без задействования JIT-компиляции, а общее впечатление создавалось такое, что в ОС нет какой-то центральной линии, но есть множество интересных идей, небрежно наложенных друг на друга стопкой. Такое ощущение, к слову, будет сохраняться еще долго, вплоть до выпуска четвертой версии ОС.
Первый iPadКак бы там ни было, в результате Google все-таки смогла переманить независимых разработчиков на свою сторону, устроив конкурс на создание уникальных приложений с очень заманчивыми призами в виде множества долларовых купюр. Этот финт дал большой выигрыш при запуске продаж первого Android-смартфона в следующем году.
2008 год ознаменовался сразу двумя важными событиями, одним из которых стал выпуск нового iPhone 3G, работающего под управлением iPhone OS 2.0. Сам по себе смартфон не представлял особого интереса и являлся не чем иным, как слегка доработанной версией первого iPhone, в котором появилась поддержка 3G и A-GPS. Но вот операционная система iPhone OS 2.0 вновь стала своеобразным прорывом, принеся владельцам старого и нового варианта смартфона долгожданную поддержку нативных приложений.
Причины, по которым это событие стало настолько важным, просты. Будучи полноценной ОС, работающей на стандартном современном железе и поддерживающей все его возможности, iPhone OS дала разработчикам возможность создавать приложения без оглядки на совместимость, размеры экрана, ограничения устройства или среды исполнения (Java ME, например). Это привело к появлению большого количества мобильных приложений совершенно нового класса, которые задействуют в своей работе датчики положения, компас, GPS-модуль и преимущества большого экрана. Кроме того, iPhone OS, по сути, положила начало появлению действительно качественных мобильных игр, которые могли похвастаться хорошей 3D-графикой (задействуется встроенный 3D-ускоритель с полноценной поддержкой OpenGL), а также многопальцевым сенсорным управлением и управлением с помощью датчика положения.
Свою роль также сыграла правильно выбранная политика распространения приложений только через официальный магазин App Store: каждое загруженное в него творение проверялось сотрудниками Apple на качество и отсутствие вредоносного поведения. Можно было купить и установить любой софт за несколько тапов по экрану, используя официальный клиент App Store, узнать рейтинги приложений и посмотреть скриншоты перед покупкой. Не являясь изобретателем онлайн-магазина приложений как такового, Apple фактически стала пропагандистом этой идеи, полностью запретив пользователям устанавливать софт из других источников и, по сути, форсировав изменение в мышлении пользователей.
Стоит отметить при этом, что, несмотря на законченность iPhone OS как серьезной операционной системы, в то время в ней фактически не было многозадачности. С целью сохранить плавность работы и «отзывчивость» ОС, программисты Apple оставили возможность работы в фоне только стоковым приложениям, предустановленным в ОС, тогда как сторонний софт убивался сразу после переключения на другую задачу. И хоть такой подход и отдавал DOS’ятиной, он принес свои плоды на первых этапах существования ОС, когда производительность iPhone была сильно ограниченной.
Интерактивная «журнальная страница» — одна из ключевых метафор интерфейса MetroВторое важное и, наверное, еще более значимое событие 2008 года — это фактически первое рождение операционной системы Android, состоявшееся 23 сентября вместе с выпуском Android SDK 1.0, который включал в себя уже почти готовую, но все так же отдающую недоработанностью операционную систему.
Первый серийный смартфон на этой ОС появился уже через месяц и был разработан компанией HTC специально для Google. Имя он получил двойное: HTC Dream или же T-Mobile G1. Только с выпуском этого девайса стала очевидна настоящая изюминка Android как операционной системы, превращающей смартфон в некий терминал для доступа к сервисам Google. Дело в том, что Android не только включал в себя множество клиентских приложений к сервисам поисковика (поиск, почта, календарь, карты, чат и YouTube), но и позволял слинковать пользователя со всеми этими сервисами единожды, введя свои логин и пароль от почты. После этого на смартфон начинали сыпаться сообщения, пришедшие по электронной почте и в чате, уведомления из календаря, а все контакты автоматически синхронизировались с Google. Тот же логин и пароль использовались для доступа к магазину приложений, который уже включал в себя множество софтин, разработанных в течение года с момента выпуска бета-версии Android SDK.
2009-й можно по праву считать годом расцвета Android как мобильной ОС. Производители мобильной техники начали присматриваться к Android и анонсировать свои первые устройства на его основе, Google продолжала спешно дорабатывать ОС, залатывая множественные пробелы в ее дизайне и функциональности.
9 февраля поисковый гигант выпускает первое обновление операционной системы под индексом 1.1, которое не принесло особых новшеств и было выпущено для закрытия найденных багов и проблем в API. В конце апреля компания выложила уже полноценное обновление Android 1.5, получившее официальное имя Cupcake. Эта версия включала в себя множество важных изменений, таких как наэкранная клавиатура, виджеты рабочего стола, возможность съемки видео, поддержка Bluetooth-гарнитур, автоматическое переворачивание экрана, а также множество других.
Спустя полгода, 15 сентября, Google анонсировала Android 1.6 Donut, которая включала в себя множество доработок, движок синтеза речи, а также, что очень важно, поддержку более высоких, чем 320 на 480, разрешений экрана и интегрированную функцию подгонки приложений к разным разрешениям. Последняя позволила без каких-либо проблем запускать приложения на разных устройствах даже в том случае, если разработчик не предусмотрел поддержку разных разрешений экранов (грубо говоря, картинка просто масштабировалась).
Всего через месяц Google выпускает Android 2.0 Eclair, которую можно назвать последней на этапе перехода к действительно стабильной и полнофункциональной операционной системе. Eclair включает в себя множество доработок, таких как поддержка множества Google-аккаунтов, Bluetooth 2.1, новую наэкранную клавиатуру, переработанный интерфейс, а также множество улучшений в стоковых приложениях, например SMS, браузер и камера, которая наконец-то получила поддержку различных эффектов, цифровой зум и макрофокус.
Nexus 7 — первая по настоящему удачная попытка Google выйти на планшетный рынокГод 2009-й — это также год выпуска первых моделей смартфонов под управлением новой ОС. Лидером на этом рынке становится тайваньская HTC, выпустившая сразу три новые модели смартфонов: HTC Magic, более продвинутый HTC Hero и бюджетный HTC Tattoo. Позже в игру вступает китайский Huawei с бюджетным смартфоном Pulse и Samsung с первым девайсом легендарной линейки Galaxy, а также бюджетной «спицей» (Spica). Однако настоящий фурор производит внезапно вышедшая из тени компания Motorola со своим — ставшим впоследствии культовым — топовым смартфоном Motorola Droid, оснащенным потрясающим по тем временам 3,7-дюймовым экраном с разрешением 480 х 854 пикселей, высокопроизводительным процессором OMAP3430, 256 Мб оперативной памяти и работающим под управлением свежайшей Android 2.0. Именно благодаря Android Motorola смогла ворваться на, казалось бы, уже упущенный рынок смартфонов и впоследствии крепко удерживать свои позиции.
Что касается iPhone OS, то здесь Apple придерживается прежнего курса постепенных ежегодных модернизаций. 17 июля Стив Джобс представляет публике iPhone 3GS, оснащенный улучшенным дисплеем, более производительным процессором Samsung S5PC100, работающим на частоте 600 МГц (вместо штатных 833), графическим 3D-ускорителем PowerVR SGX535, вдвое увеличенным объемом оперативной памяти (256 Мб взамен 128 Мб), цифровым компасом и видеокамерой на 3 Мп (вместо 2 Мп в iPhone 3G). Как и положено, третья версия смартфона работает под управлением iPhone OS 3.0, включающей в себя более ста нововведений, среди которых функция копирования и вставки, поддержка MMS, поиск по всему смартфону Spotlight, а также функции удаленного вайпа и поиска смартфона.
2010 год был, наверное, самым насыщенным в истории мобильной техники. Наиболее значимым событием стал анонс операционной системы Windows Phone 7, работа над которой началась в 2008 году. ОС была представлена 15 февраля на выставке Mobile World Congress и сразу привлекла к себе всеобщее внимание благодаря совершенно новому, необычному и невероятно эффектному интерфейсу Metro.
Metro выглядел стильно, минималистично и при этом выводил опыт общения с ОС и приложениями на совершенно иной уровень, а если точнее — возвращал пользователя к привычным моделям взаимодействия с окружающей средой, к которым мы привыкли в обыденной жизни. Интерфейс одновременно сочетал в себе все основные графические составляющие современного урбанистического города, такие как информационные табло, путеводители и глянцевые журналы, что делало его интуитивно понятным и простым в использовании.
Интересно, что, несмотря на совершенно новый интерфейс и API программирования, который делал все написанные для Windows Mobile приложения несовместимыми с новой ОС, внутри Windows Phone продолжала оставаться все той же Windows CE с устаревшим ядром, основанным на технологиях Windows 95. Для разработки же приложений и игр Microsoft предложила использовать специальную версию Silverlight и фреймворк XNA, также используемый в мультимедиаплеере Zune и приставке Xbox 360. Тем не менее, как и в случае с iOS, многозадачность операционной системы была урезана, так что программист не мог рассчитывать на фоновое исполнение приложения, но мог использовать API для выполнения некоторых типов фоновых задач, таких как получение почты или обновление данных из Сети.
11 октября исполнительный директор Microsoft Стив Баллмер анонсировал десять устройств под управлением Windows Phone 7 от таких производителей, как HTC, Dell, Samsung и LG. Устройства сразу же были выпущены на рынок.
2010-й также стал годом очередного технологического триумфа компании Apple, которая представила миру сразу три значимых продукта: новый, действительно модернизированный iPhone 4, планшет iPad и операционную систему iOS 4.0, в которой наконец-то появилась многозадачность.
Так выглядел один из первых прототипов смартфона на AndroidЦентральное событие во всей этой цепочке, конечно же, связано с iPad — планшетным компьютером, о котором Стив Джобс говорил еще в далеком 1983 году, предрекая выпуск «мощного компьютера с размерами книги, на обучение использованию которого потребуется не больше двадцати минут». С технической точки зрения революции не произошло и в этот раз. По сути, это был всего лишь большой iPhone с экраном 9,7 дюйма, процессором на 1 ГГц и особой модификацией iPhone OS 3.2, которая почти не отличалась от версии для смартфона и позволяла использовать все те же приложения. Однако благодаря качеству исполнения Apple вновь удалось открыть совершенно новый рынок.
iPad был представлен в апреле, но уже в июне, следуя своей традиции, Apple анонсировала iPhone 4, главными особенностями которого стали экран разрешением 960 x 640 пикселей, вдвое увеличенный объем оперативной памяти (512 Мб) и фронтальная камера для видеозвонков на 0,3 Мп. Вместе с новым iPhone была представлена iOS 4.0, которая стала первой ОС, несовместимой с некоторыми предыдущими версиями смартфона и доступной для нового типа девайса — iPad.
Главной изюминкой iOS 4.0 стала более полная, но при этом неполноценная многозадачность. Отныне сторонние приложения могли работать в фоне, однако их возможности были ограничены набором «фоновых API», примерно так же, как это реализовано в Windows Phone. Приложения могли проигрывать музыку, определять местоположение устройства, выводить уведомления, запрашивать дополнительное время для выполнения незаконченной задачи, но не могли «просто работать» в фоне, как это происходит в настольных операционных системах или ОС Android.
Излишнее внимание к деталям не всегда уместно — как бы говорят дизайнеры Apple своим корейским коллегамДля экосистемы Android 2010 год оказался не менее значимым. Именно этот год стал настоящим бумом выпуска Android-устройств практически всеми сколько-нибудь значимыми игроками мобильного рынка. К ОС начали серьезно присматриваться разработчики, так что к середине года в Android Market можно было найти уже 100 тысяч приложений, а концу года их количество выросло до 400 тысяч. В этом же году произошло два серьезных обновления ОС, благодаря которым Android уже можно было назвать законченной ОС.
В мае была представлена версия Android 2.2 Froyo, главной особенностью которой стало улучшение производительности благодаря включению JIT-компиляции в виртуальной машине Dalvik, интеграции JS-движка V8 в стандартный браузер, а также множественные оптимизации кода. В этой же версии появилась долгожданная возможность раздавать интернет с помощью Wi-Fi (Wi-Fi hotspot), а также новый домашний экран, в котором наконец-то появился док, на манер iOS. Через полгода увидела свет версия Android 2.3 Gingerbread, в которой можно было отметить первые шаги Google по модернизации интерфейса и приведению его к более приемлемому виду, а также такие функции, как SIP VoIP, улучшения в энергопотреблении и поддержку чипов NFC.
2011-й стал первым годом в истории «гонки вооружений», который не преподнес каких-то сюрпризов в области мобильных ОС. Apple спокойно и невозмутимо продолжает выпускать новые версии смартфонов, планшетов и планомерно обновлять iOS. Microsoft заключает контракт с Nokia и выпускает минорное обновление Windows Phone 7.5 Mango. Google выпускает Android 3.0 Honeycomb — действительно мажорное обновление ОС, которое тем не менее не создает резонанса из-за ориентированности только на планшеты и закрытого исходного кода, серьезно ограничившего распространение ОС.
Android 3.0 была представлена 22 февраля вместе с планшетом Motorola Xoom и являла собой скорее не законченную ОС, а попытку Google вторгнуться на рынок планшетов, заново открытый Apple. Третья версия ОС не получила широкого распространения, однако сработала на отлично в качестве демонстрации того, какими будут следующие версии Android. Операционная система была серьезно переработана, в том числе в плане интерфейса пользователя, который наконец получил свой собственный запоминающийся и невероятно эффектный минималистичный стиль, названный Holo (от holographic — голографический). Интерфейс не только стал приятным для глаза, но и получил так давно ожидаемую плавность работы благодаря задействованию графического процессора. Многие другие подсистемы ОС также были переработаны, а общие требования к железу серьезно повысились.
INFO
- Начиная с четвертой версии, iPhone OS начала носить имя iOS, и компании Apple пришлось лицензировать новое название у Cisco, которая владела правами на торговую марку IOS — ОС, работающей в маршрутизаторах.
- Еще в 2007 году HTC создала для Google опытный образец смартфона Google Sooner с полноценной QWERTY-клавиатурой под экраном, однако смартфон так и не был выпущен на рынок.
- Вместе с Android Google создала альянс производителей мобильной техники OHA (Open Handset Alliance), в который сегодня входит около пятидесяти компаний, среди них HTC, Motorola, Intel, LG, NVIDIA, Samsung и многие другие.
В этом же году Google выпустила еще два серьезных обновления ОС, включая версии 3.1 и 3.2, в которых была проведена дальнейшая работа по унификации интерфейса, оптимизации производительности, появилась поддержка различных USB-устройств. Однако их исходный код также был закрыт, а работа над «телефонными версиями» системы фактически завершена до конца года, когда был представлен Android 4.0 Ice Cream Sandwich.
Четвертая версия Android стала идейным продолжением Honeycomb, но ориентированным как на планшеты, так и на смартфоны. Ice Cream Sandwich включала в себя полностью переработанный стек приложений, переписанный с нуля домашний экран, реализованный по всем правилам нового UI Holo, новый шрифт Roboto, отлично подходящий для отображения текста на экранах с высокой плотностью пикселей, функцию разблокировки по снимку лица (которую легко обмануть, показав телефону фотографию владельца), функцию Wi-Fi Direct для прямой передачи файлов между устройствами, а также давно ожидаемую поддержку VPN.
Именно Ice Cream Sandwich сделал Android не просто «альтернативой iPhone для бедных», а реальным конкурентом на рынке мобильных ОС. Android 4.0 была функциональна, удобна, красива, легка в использовании и обладала функциями, которых у ее конкурента не было в принципе.
В феврале была представлена новая версия Windows Phone 7.5 под кодовым именем Mango, в которую был интегрирован Internet Explorer 9, обладающий всеми возможностями настольной версии, расширена поддержка многозадачности для фоновых приложений и появилась возможность синхронизации с Windows Live SkyDrive. Практически в то же время Стив Баллмер объявил о заключении соглашения с компанией Nokia, по которому последняя будет отдавать предпочтение Windows Phone при выборе мобильной ОС. Фактически это означало, что Nokia начинает выпуск смартфонов только на Windows со всеми вытекающими отсюда последствиями, в виде стагнации и вылета из пятерки крупнейших производителей смартфонов благодаря нелюбви пользователей к «слишком необычной» и непопулярной Windows Phone.
Windows Mobile — на смартфонах тоже был «Пуск»В октябре Apple представляет iOS 5.0, в которой появляется функциональность, впервые предложенная разработчиками Android, а именно Notification Center, то есть область уведомлений, доступная по выдвижению статусной строки вниз. Также новая версия ОС получает интеграцию с iCloud, облачным сервисом Apple, функционально схожим с Dropbox, и сервис iMessage, позволяющий пересылать SMS, используя интернет-соединение.
Рабочий стол Windows 8 в стиле MetroСамым значимым событием 2012 года стал, конечно же, выпуск Windows 8, с которым Microsoft неожиданно для многих вновь совершила серьезный рывок вперед. Несмотря на то что технически операционных систем было представлено три, все они теперь основаны на одной кодовой базе Windows NT и базируются на интерфейсе Metro (который в настольной версии можно отключить). API между системами также теперь совместим, что делает перенос приложений фактически решенной задачей, а пользователи планшетов, по сути, будут работать с настоящей настольной версией системы. Это было очень красноречиво показано на примере представленного тогда же планшета Windows Surface с отключаемой клавиатурой.
Фактически Windows 8 — это универсальная ОС для любых типов устройств с одним репозиторием приложений, одним интерфейсом, системой организации меню и настроек. Операционная система, в которой пользователь будет работать с одним софтом, независимо от девайса, и не потеряется в новом интерфейсе. Это именно то, к чему пытались прийти Apple и Google, но первой пришла, как ни странно, Microsoft.
К слову сказать, программисты Google также не сидели на месте и успели выпустить два инкрементальных обновления ОС. В Android 4.1 Jelly Bean поработали над увеличением производительности, появились интерактивные уведомления, умный рабочий стол, который научился выстраивать элементы на экране в ответ на перетаскивание ярлыка или виджета. Появился также помощник Google Now, который подсказывал различные данные, основываясь на том, что пользователь искал недавно в Google, его местоположении и активности в Google+. Версия Android 4.2 Jelly Bean (да, именно так) принесла возможность делать сферические фотографии (аналогичные Google Street View), в ней появились давно ожидаемые кнопки управления питанием в панели уведомлений, единый интерфейс для планшетов и смартфонов, а также интеграция SELinux.
Apple, в свою очередь, представила вместе с iPhone 5 новую версию iOS с индексом 6.0, которая, по сути, не получила серьезных изменений, кроме множества мелких доработок во встроенных приложениях, интеграции с Facebook, а также удаления из состава предустановленных приложений YouTube и Google Maps (что, кстати, сыграло с Apple злую шутку, так как новые векторные карты Apple оказались никуда не годными).
Пять лет — небольшой срок, однако мир мобильной техники за этот период успел кардинально измениться. Кажется невероятным, что когда-то мы пользовались смартфонами, которые не умели выполнять автоматическую синхронизацию с Google, обладали кучей кнопок и не имели централизованного источника приложений. Теперь все это в прошлом, и трудно себе представить, как изменится мир за следующие пять лет.
Статья впервые опубликована в январском номере Х за 2014 год.
Каким был самый первый телефон на базе Android
Наверное, мало кто помнит первого из предполагаемых убийц iPhone — смартфон T-Mobile G1 на базе Android версии 1.0.
23 сентября 2008 года в Нью-Йорке компании Google, HTC и оператор сотовой связи T-Mobile представили миру первый смартфон под управлением операционной системы Android — T-Mobile G1. Спустя месяц его можно было купить в США за 179 долларов с двухгодичным контрактом, а чуть позже его начали продавать в Европе под именем HTC G1 и без операторской привязки.Выглядит этот смартфон так:
T-Mobile G1 был оснащен процессором Qualcomm с тактовой частотой 528 мегагерц, экраном диагональю 3,2 дюйма с разрешением 320×480 пикселей, накопителем 256 мегабайт, оперативной памятью 192 мегабайта, камерой с разрешением 3,2 мегапикселя, модулями Wi-FI, GPS, Bluetooth 2.0, физической QWERTY-клавиатурой и аккумулятором емкостью 1150 мАч. При этом устройство весило 158 грамм и имело габариты 117,7×55,7×17,1 мм.
На момент выпуска смартфону было доступно 1700 приложений от сторонних разработчиков. Google портировала на Android несколько приложений, которые ранее выпускались для iPhone, BlackBerry и Windows Mobile: YouTube, карты, почту, календарь и Gtalk. Данные нативных приложений уже тогда синхронизировались в облаке через аккаунт Google.
G1 нарекли убийцей iPhone, во-первых, из-за сенсорного экрана, а во-вторых, из-за того, что он превосходил первый смартфон Apple по нескольким важным параметрам: более высокое разрешение камеры, время автономной работы и поддержка карт памяти. Но iPhone был легче, тоньше и красивее.
Дизайн G1 оставлял желать лучшего, а физическая клавиатура была ему необходима — у Android на тот момент не было экранной. Непонятно, почему G1 получился таким страшненьким. Взгляните на концепты смартфонов Google, датированные 2006 годом, они прекрасны:
На тот момент Google не планировала использовать в смартфонах сенсорные экраны. Предполагалось, что этими устройствами будут управлять только при помощи физических клавиш. Выпуск iPhone в 2007 году скорректировал планы Google.
Первый Android-смартфон мог быть другим. В феврале 2008 года на выставке Mobile World Congress прототипы устройств продемонстрировали сразу несколько компаний: ARM показала смартфон с завершенным дизайном корпуса, а NEC — плату с сенсорным экраном. Samsung тоже вела разработки в то время, но не показывала их.Android 10 — Википедия
Материал из Википедии — свободной энциклопедии
Android 10 (под кодовым названием Android Q во время разработки) — десятая версия операционной системы Android.
Финальный релиз вышел 3 сентября 2019 года для смартфонов семейства Pixel[1][2].
Включает в себя:[3]
- Встроенная поддержка складных телефонов.[4][5][6]
- Новые и улучшенные настройки пользовательского интерфейса со сменными темами, значками и шрифтами.
- Позволяет пользователям контролировать, когда приложения имеют разрешение на просмотр своего местоположения: никогда, только когда приложение используется (работает) или постоянно (в фоновом режиме).
- Новые разрешения для доступа к фоновым фотографиям, видео- и аудиофайлам.
- Встроенный рекордер экрана[2].
- Фоновые приложения больше не могут прыгать на передний план.
- Улучшенная конфиденциальность: ограниченный доступ к не сбрасываемым идентификаторам устройств.
- Обмен ярлыками, позволяющими делиться контентом с контактом напрямую.
- Плавающая панель настроек, позволяющая изменять настройки системы прямо из приложений.
- Динамический формат глубины для фотографий, который позволяет изменять размытие фона после съемки.
- Поддержка видеокодека AV1, видео формата HDR10 + и аудиокодека Opus.
- Встроенный MIDI API, позволяющий взаимодействовать с музыкальными контроллерами.
- Улучшенная поддержка биометрической аутентификации в приложениях.[7]
Android — ключевые особенности операционной системы
Здравствуйте друзья, я начинаю развивать рубрику, связанную со смартфонами, теперь уже полноценно. Теперь на сайте вы найдете кучу интересных статей про смартфоны на базе Android. Я максимально подробно построюсь донести до пользователей о новинках смартфонов, то есть будет много новостей. Упор, конечно, буду делать на создание материалов по работе с ОС. Так сказать, инструкция от А до Я. Пока что начну с самого простого, и напишу статейку о том, что такое это такое и какие у него достоинства и недостатки. Теперь переходим у сути.
Что такое ОС Android
Android – это операционная система на базе ядра Linux, которую выкупила в 2005 году компания Google. В 2008 году вышла первая версия операционной системы. Данная ОС предназначена для смартфонов, планшетов и многих других устройств. На данный момент её встраивают в часы, различные навигаторы, приставки и проигрыватели.
Сейчас создаётся огромное количество смартфонов и прочих устройств с данной системой. Она завоевала жуткую популярность, поэтому конкурентов у неё почти нет, разве что iOS.
Я думаю, не стоит перечислять известные бренды сегодняшних телефонов, которые растут, как на дрожжах. Так вот, все они используют Андроид. Если говорить о чистой системе, то можно сказать, что она очень шустрая и производительная. Многие производители, беря за основу эту ОС делают свою оболочку с дополнительными функциями, возможностями и оформлением. У кого-то это получается лучше, и системка летает, а в каких-то устройствах не очень. С помощь операционки у вас есть возможность управлять такими функциями, как Wi-Fi, Bluetooth, NFC, GPS, создавать точки доступа Wi-Fi, то есть делать из своего телефона модем и многое другое. В современные смартфоны встраивают датчики отпечатав пальцев и сканирования радужной оболочки глаза, что позволяет многократно улучшить защиту – всем этим можно управлять с помощью Android. Естественно в Apple со своим iOS стараются не отставать.
Плюсы и минусы
Давайте рассмотрим достоинства и недостатки:
- Так как она разработана на ядре Linux с открытым исходным кодом, то и мобильная система тоже имеет открытый исходный код, что позволяет создавать для этой системы всё, что душе угодно.
- Чистая ОС очень оптимизирована не требовательна к устройствам. Может работать на самом слабом телефоне, который сейчас есть, хотя это уже редкость.
- Возможность подстроить систему под себя.
- Огромное количество дополнений и приложений, которые многократно расширяют возможности ОС.
- Быстрота работы (не во всех случаях).
- Системка доступна для следующих аппаратных платформ: ARM, x86, MIPS.
Это основные положительные характеристики, которые я ля себя отметил. Может быть есть еще что-то. Помимо плюсов, есть еще и минусы:
- Операционка с открытым кодом даёт преимущество производителям смартфонов и планшетов создавать оболочки, не всегда максимально оптимизированные и работоспособные. Помимо этого, обновление оболочки может прийти намного позже, чем выйдет новейшая версия официальной системы.
- Если системка плохо оптимизирована, то есть вероятность сильного расхода энергии. А атомность сейчас очень ценится. Но это зависит скорее от производителей устройств.
- Из-за популярности хакеры и прочие нехорошие люди пишут для ОС вирусы и ищут уязвимости. Конечно, определённая защита у это ОС, не как у Windows. Поэтому недостаток незначительный.
- Были замечены случаи, когда у пользователей по всему миру в общем случае было украдено несколько миллионов долларов. Делалось это посредством отправки СМС без ведома пользователя.
Виды прошивок
Помимо чистой системы от Google есть ряд энтузиастов, занимающихся разработкой своих прошивок, которые имеют свой собственный функционал и возможности. Вы увидите совершенно другое оформление, бывает, что прошивка другого производителя будет лучше работать, чем чистый Андроид.
На данный момент существуют такие компании по созданию прошивок для смартфонов и прочих устройств: CyanogenMod, которая теперь LineageOS, AOKP, MIUI, Paranoid Android, AOSP, Replicant и прочие.
Разработчики-энтузиасты стараются выпускать вовремя версии прошивки, совместно с выходом чистой ОС. Но иногда прошивать телефон и не нужно, так как производители могли об этом позаботиться.
Приложения и Play Market
Всем известно, что каждый день в магазин приложений Google – Play Market выкладываются сотни программ и игр. Вы можете найти вообще, что душе угодно, это различные аудио и видеоплееры, обои на рабочий стол, файловые менеджеры, которых там, наверное, тысячи, куча ПО для общения с людьми – социальные сети, мессенджеры и другие. Также вы можете скачивать оттуда фильмы, книги и музыку. Конечно, контент там есть как платный, так и бесплатный.Немножечко теории. Код приложения для Андроида пишется для, так называемой, виртуальной машины Dalvic. Приложения имеют формат .apk, это единственный формат. Сами приложения до недавнего времени можно было писать на языке Java, а с 2009 года Google добавили специальный пакет возможностей, позволяющий создавать программное обеспечение на С и С++. Также, существует множество сред разработки, типа Embarcadero RAD Studio.
Что касается самого магазина приложений, то открыли его в 2008 году. Договорённость была такова, что разработчики ПО отдают 30% прибыли компании Google. По меркам 2017 года в базе Play Market насчитывается около больше 2.8 миллионов приложений.
Кончено, бывало недобросовестные пользователи выкладывали приложения с вредоносным кодом, из-за чего примерно в 2011 возник скандал, но проблемы быстро замяли и уязвимости закрыли.
Кто бы что не говорил, но прямым конкретном Play Market является App Store – магазин приложений для устройств iPhone, iPad, iPod и других. Программного обеспечения у них меньше чем в Play Market. По доходу разработчиков тоже самое, что и у Google. Вы создаете платное приложение, за которое отдадите 30% прибыли.
Что внутри Android
А теперь практически предпоследний пунктик, в котором я хочу рассказать о внутренних компонентах системы. Те, кто пользуется этой системой должны хоть немного в ней разбираться. И сравним её с Windows.
Итак, Linux от Windows отличается тем, что у второй информация разложена по дискам и папочкам, конечно, в Linux также, но отображается это всё по-разному. В линуксоидных системах древовидная структура.
Также различия есть и в регистрах. Если вы создадите несколько папок с одинаковыми названиями, то на Windows отличия не будет, а вот в Linux это будут совершенно разные папки. К файлам это тоже относится. Вот эти названия будут различны в Linux – Papka, papka, PAPKA.
Всегда кэш для системы и какого-то приложения будет сохраняться в специальный раздел – cache.
Наверняка в файловом менеджере все видели папку data. Этот каталог имеет другие папки, относящиеся к установочным файлам и каталогам от приложений.
Файлы конфигурации и библиотеки ПО можно найти в папке app-lib.
Чтобы приложения работали их пишут на языке Java для специальной виртуальной машины Dalvik. Поэтому вы можете встретить каталог dalvic-cache. Иногда его нужно чистить, например, перед перепрошивкой телефона. Делается это с помощью рут-прав или из меню Recovery, но обо всем этом я обязательно расскажу в будущих статьях.
Обязательно вы увидите в файловом менеджере каталог system. Из названия ясно, что там хранятся системные настройки, изменение которых может попортить вам систему.
В каталоге etc вы найдете файлы, позволяющие нормально запуститься системе.
Это еще не все папки, которые есть в Андроид системе. Понадобится несколько дополнительных статей, чтобы всё это разобрать.
Дополнительные особенности
Многие знают, что каждая модификация системы имеет ключевое название, обычно, какого-то десерта. Например, Cupcake, что значит кекс. Одна из популярных версий 4.1-4.3 имеет название Jelly Bean (Желейные бобы). А вот версия 4.4 названа честь известного шоколадного батончика KitKat. Следующая модификация 5.0 и 5.1 имеет название Lollipop – леденец. Шестой вариант – Marshmallow и, наконец, последняя на данный момент разновидность 7.0-7.1.2 получила код Nougat.
Уже совсем чуть-чуть осталось до выхода версии 8 или как его называют Android O. Бета-версия операционки уже установлена на некоторых флагманах и работает стабильно. Полностью ОС выйдет в конце 2017 года. И да, ключевое слово скорее всего будет – Oreo. Ниже вы увидите видео по презентации восьмой версии.
Что же ребята, я закончил статью, теперь вы знаете, что такое Андроид, где он используется, его фишки. В будущих статьях я буду рассказывать практически всё, что связанной в данной операционной системой. Ну а вам я желаю удачи!
Это интересно: Что выбрать смартфон или планшет
Как работает Android, часть 1 / Ростелеком-Солар corporate blog / Habr
В этой серии статей я расскажу о внутреннем устройстве Android — о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.
Статьи серии:
Немного фактов
Android — самая популярная операционная система и платформа для приложений, насчитывающая больше двух миллиардов активных пользователей. На ней работают совершенно разные устройства, от «интернета вещей» и умных часов до телевизоров, ноутбуков и автомобилей, но чаще всего Android используют на смартфонах и планшетах.
Android — свободный и открытый проект. Большинство исходного кода (который можно найти на https://source.android.com) распространяется под свободной лицензией Apache 2.0.
Компания Android Inc. была основана в 2003 году и в 2005 году куплена Google. Публичная бета Android вышла в 2007 году, а первая стабильная версия — в 2008, с тех пор мажорные релизы выходят примерно раз в год. Последняя на момент написания стабильная версия Android — 7.1.2 Nougat.
Android is Linux
По поводу такой формулировки было много споров, так что сразу поясню, что именно я имею в виду под этой фразой: Android основан на ядре Linux, но значительно отличается от большинства других Linux-систем.
Среди исходной команды разработчиков Android был Robert Love, один из самых известных разработчиков ядра Linux, да и сейчас компания Google остаётся одним из самых активных контрибьюторов в ядро, поэтому неудивительно, что Android построен на основе Linux.
Как и в других Linux-системах, ядро Linux обеспечивает такие низкоуровневые вещи, как управление памятью, защиту данных, поддержку мультипроцессности и многопоточности. Но — за несколькими исключениями — вы не найдёте в Android других привычных компонентов GNU/Linux-систем: здесь нет ничего от проекта GNU, не используется X.Org, ни даже systemd. Все эти компоненты заменены аналогами, более приспособленными для использования в условиях ограниченной памяти, низкой скорости процессора и минимального потребления энергии — таким образом, Android больше похож на встраиваемую (embedded) Linux-систему, чем на GNU/Linux.
Другая причина того, что в Android не используется софт от GNU — известная политика «no GPL in userspace»:
We are sometimes asked why Apache Software License 2.0 is the preferred license for Android. For userspace (that is, non-kernel) software, we do in fact prefer ASL 2.0 (and similar licenses like BSD, MIT, etc.) over other licenses such as LGPL.Android is about freedom and choice. The purpose of Android is promote openness in the mobile world, and we don’t believe it’s possible to predict or dictate all the uses to which people will want to put our software. So, while we encourage everyone to make devices that are open and modifiable, we don’t believe it is our place to force them to do so. Using LGPL libraries would often force them to do just that.
Само ядро Linux в Android тоже немного модифицировано: было добавлено несколько небольших компонентов, в том числе ashmem (anonymous shared memory), Binder driver (часть большого и важного фреймворка Binder, о котором я расскажу ниже), wakelocks (управление спящим режимом) и low memory killer. Исходно они представляли собой патчи к ядру, но их код был довольно быстро добавлен назад в upstream-ядро. Тем не менее, вы не найдёте их в «обычном линуксе»: большинство других дистрибутивов отключают эти компоненты при сборке.
В качестве libc (стандартной библиотеки языка C) в Android используется не GNU C library (glibc), а собственная минималистичная реализация под названием bionic, оптимизированная для встраиваемых (embedded) систем — она значительно быстрее, меньше и менее требовательна к памяти, чем glibc, которая обросла множеством слоёв совместимости.
В Android есть оболочка командной строки (shell) и множество стандартных для Unix-подобных систем команд/программ. Во встраиваемых системах для этого обычно используется пакет Busybox, реализующий функциональность многих команд в одном исполняемом файле; в Android используется его аналог под названием Toybox. Как и в «обычных» дистрибутивах Linux (и в отличие от встраиваемых систем), основным способом взаимодействия с системой является графический интерфейс, а не командная строка. Тем не менее, «добраться» до командной строки очень просто — достаточно запустить приложение-эмулятор терминала. По умолчанию он обычно не установлен, но его легко, например, скачать из Play Store (Terminal Emulator for Android, Material Terminal, Termux). Во многих «продвинутых» дистрибутивах Android — таких, как LineageOS (бывший CyanogenMod) — эмулятор терминала предустановлен.
Второй вариант — подключиться к Android-устройству с компьютера через Android Debug Bridge (adb). Это очень похоже на подключение через SSH:
user@desktop-linux$ adb shell
android$ uname
Linux
Из других знакомых компонентов в Android используются библиотека FreeType (для отображения текста), графические API OpenGL ES, EGL и Vulkan, а также легковесная СУБД SQLite.
Кроме того, раньше для реализации WebView использовался браузерный движок WebKit, но начиная с версии 7.0 вместо этого используется установленное приложение Chrome (или другое; список приложений, которым разрешено выступать в качестве WebView provider, конфигурируется на этапе компиляции системы). Внутри себя Chrome тоже использует основанный на WebKit движок Blink, но в отличие от системной библиотеки, Chrome обновляется через Play Store — таким образом, все приложения, использующие WebView, автоматически получают последние улучшения и исправления уязвимостей.
It’s all about apps
Как легко заметить, использование Android принципиально отличается от использования «обычного Linux» — вам не нужно открывать и закрывать приложения, вы просто переключаетесь между ними, как будто все приложения запущены всегда. Действительно, одна из уникальных особенностей Android — в том, что приложения не контролируют напрямую процесс, в котором они запущены. Давайте поговорим об этом подробнее.
Основная единица в Unix-подобных системах — процесс. И низкоуровневые системные сервисы, и отдельные команды в shell’е, и графические приложения — это процессы. В большинстве случаев процесс представляет собой чёрный ящик для остальной системы — другие компоненты системы не знают и не заботятся о его состоянии. Процесс начинает выполняться с вызова функции main()
(на самом деле _start
), и дальше реализует какую-то свою логику, взаимодействуя с остальной системой через системные вызовы и простейшее межпроцессное общение (IPC).
Поскольку Android тоже Unix-подобен, всё это верно и для него, но в то время как низкоуровневые части — на уровне Unix — оперируют понятием процесса, на более высоком уровне — уровне Android Framework — основной единицей является приложение. Приложение — не чёрный ящик: оно состоит из отдельных компонентов, хорошо известных остальной системе.
У приложений Android нет функции main()
, нет одной точки входа. Вообще, Android максимально абстрагирует понятие приложение запущено как от пользователя, так и от разработчика. Конечно, процесс приложения нужно запускать и останавливать, но Android делает это автоматически (подробнее я расскажу об этом в следующих статьях). Разработчику предлагается реализовать несколько отдельных компонентов, каждый из которых обладает своим собственным жизненным циклом.
In Android, however, we explicitly decided we were not going to have a main() function, because we needed to give the platform more control over how an app runs. In particular, we wanted to build a system where the user never needed to think about starting and stopping apps, but rather the system took care of this for them… so the system had to have some more information about what is going on inside of each app, and be able to launch apps in various well-defined ways whenever it is needed even if it currently isn’t running.
Для реализации такой системы нужно, чтобы приложения имели возможность общатся друг с другом и с системными сервисами — другими словами, нужен очень продвинутый и быстрый механизм IPC.
Этот механизм — Binder.
Binder
Binder — это платформа для быстрого, удобного и объектно-ориентированного межпроцессного взаимодействия.
Разработка Binder началась в Be Inc. (для BeOS), затем он был портирован на Linux и открыт. Основной разработчик Binder, Dianne Hackborn, была и остаётся одним из основных разработчиков Android. За время разработки Android Binder был полностью переписан.
Binder работает не поверх System V IPC (которое даже не поддерживается в bionic), а использует свой небольшой модуль ядра, взаимодействие с которым из userspace происходит через системные вызовы (в основном ioctl
) на «виртуальном устройстве» /dev/binder
. Со стороны userspace низкоуровневая работа с Binder, в том числе взаимодействие с /dev/binder
и marshalling/unmarshalling данных, реализована в библиотеке libbinder.
Низкоуровневые части Binder оперируют в терминах объектов, которые могут пересылаться между процессами. При этом используется подсчёт ссылок (reference-counting) для автоматического освобождения неиспользуемых общих ресурсов и уведомление о завершении удалённого процесса (link-to-death) для освобождения ресурсов внутри процесса.
Высокоуровневые части Binder работают в терминах интерфейсов, сервисов и прокси-объектов. Описание интерфейса, предоставляемого программой другим программам, записывается на специальном языке AIDL (Android Interface Definition Language), внешне очень похожем на объявление интерфейсов в Java. По этому описанию автоматически генерируется настоящий Java-интерфейс, который потом может использоваться и клиентами, и самим сервисом. Кроме того, по .aidl
-файлу автоматически генерируются два специальных класса: Proxy (для использования со стороны клиента) и Stub (со стороны сервиса), реализующие этот интерфейс.
Для Java-кода в процессе-клиенте прокси-объект выглядит как обычный Java-объект, который реализует наш интерфейс, и этот код может просто вызывать его методы. При этом сгенерированная реализация прокси-объекта автоматически сериализует переданные аргументы, общается с процессом-сервисом через libbinder, десериализует переданный назад результат вызова и возвращает его из Java-метода.
Stub работает наоборот: он принимает входящие вызовы через libbinder, десериализует аргументы, вызывает абстрактную реализацию метода, сериализует возвращаемое значение и передаёт его процессу-клиенту. Соответственно, для реализации сервиса программисту достаточно реализовать абстрактные методы в унаследованном от Stub классе.
Такая реализация Binder на уровне Java позволяет большинству кода использовать прокси-объект, вообще не задумываясь о том, что его функциональность реализована в другом процессе. Для обеспечения полной прозрачности Binder поддерживает вложенные и рекурсивные межпроцессные вызовы. Более того, использование Binder со стороны клиента выглядит совершенно одинаково, независимо от того, расположена ли реализация используемого сервиса в том же или в отдельном процессе.
Для того, чтобы разные процессы могли «найти» сервисы друг друга, в Android есть специальный сервис ServiceManager, который хранит, регистрирует и выдаёт токены всех остальных сервисов.
Binder широко используется в Android для реализации системных сервисов (например, пакетного менеджера и буфера обмена), но детали этого скрыты от разработчика приложений высокоуровневыми классами в Android Framework, такими как Activity, Intent и Context. Приложения могут также использовать Binder для предоставления друг другу собственных сервисов — например, приложение Google Play Services вообще не имеет собственного графического интерфейса для пользователя, но предоставляет разработчикам других приложений возможность пользоваться сервисами Google Play.
Подробнее про Binder можно узнать по этим ссылкам:
В следующей статье я расскажу о некоторых идеях, на которых построены высокоуровневые части Android, о нескольких его предшественниках и о базовых механизмах обеспечения безопасности.