Оборудование        03.03.2020   

Что такое android app. Операционная система андроид

Любому владельцу гаджета известно, что существуют различные версии Андроид — операционной системы, которую производители устанавливают на производимые устройства. Изначально она была создана для управления только мобильными телефонами. Затем ее стали применять на планшетах, «умных» часах, очках виртуальной реальности и даже . Невероятная популярность Андроид обусловлена множеством полезных функций, которые он получал в процессе развития. Именно благодаря этому он с легкостью обошел своих конкурентов Microsoft и Apple, завоевав рынок практически всех мобильных устройств. А ведь все начиналось с небольшого стартапа. Если бы корпорация Google не увидела в ОС Андроид такие перспективы, пользователи могли бы и не узнать, каким должен быть современный гаджет.

Данная операционная система стала доступна для пользователей в 2008 году. Однако разработка ее началась за 5 лет до выпуска первой версии. Основателем проекта был Энди Рубин, который совместно с друзьями хотел реализовать идею по созданию открытой операционной системы для мобильных телефонов. Ими была создана и зарегистрирована фирма, получившая название Android Inc.

Идеи, которые были положены в основу Андроида, на тот момент казались слишком новаторскими. Поэтому проект не вызывал интерес у инвесторов, не понимавших его суть. Исключением стала компания Google, которая вовремя спасла буквально разорившуюся фирму. Но и стала полноправным владельцем торгового знака Андроид и всех разработок.

Из-за судебных разбирательств с Oracle, одна из ведущих поисковых систем тогда переживала не лучшие времена. Было принято решение создавать Андроид в виде открытой ОС, которая ориентирована в первую очередь на сервисы Google.

Первая рабочая версия Андроид, которая не была выпущена

Разработчики ориентировались на успех популярной тогда компании Blackberry. Из-за этого первая рабочая версия Андроида имела похожий интерфейс. Она появилась в середине мая 2007 года и получила название M3. Операционная система была предназначена для телефонов с клавишами и относительно небольшим дисплеем. На главном экране в качестве основного элемента находилась строка поиска Google.

Идея создания телефона с сенсорным экраном была перенята у Apple, которая к тому моменту выпустила первый iPhone. Если бы не это событие, первая версия Андроид появилась бы раньше 2008 года и была бы предназначена для обычного кнопочного телефона. Компанией было принято решение отложить выпуск ОС и взять курс на разработку именно для сенсорных экранов. К тому же Энди Рубин активно разрабатывал карты для навигационного сервиса и хотел создать поддержку технологии GPS в телефонах.

Официальный выпуск первой версии андроид

Релиз Android 1.0 состоялся в сентябре 2008 года. Поскольку Google не занималась производством мобильных устройств, компании пришлось искать производителя телефонов под новую ОС. Выбор пал на тайваньскую компанию HTC, которая являлась одним из лидеров по производству устройств под управлением Windows Mobile от Microsoft. Первый телефон, использовавший Андроид в качестве ОС, получил название HTC Dream. В нем был установлен сенсорный дисплей, под который и была адаптирована ОС от Google.

Несмотря на довольно большой интерес к устройству на новой операционной системе, Андроид пришлось существенно перерабатывать. Это было необходимо для того, чтобы избавиться от старых концепций, устранить выявленные недочеты и сделать ее более современной. Настоящий успех Андроид пришел только с выходом версии 1.6.

Через месяц после официального выхода был открыт Android Market – официальный магазин приложений, которые предназначены для данной ОС. Он позволил огромному числу разработчиков со всего мира создавать приложения для него и при этому зарабатывать неплохие деньги. Для пользователей этот стор стал тем местом, в котором можно быстро быстро найти и скачать нужную программу для своего телефона.

Версии андроид 2.х

Разработчики значительно улучшили функциональность и внешний вид операционной системы к выходу версии Андроид 2.0, которая получила кодовое название Eclair и была выпущена в 2010 году. Между прочим, идея давать «вкусные» названия новым версиям была предложена одним из разработчиков и изначально рассматривалась в качестве шутки. Но Андроид 1.5 в итоге получил название Cupcake, версия 1.6 – Donut. Так идея прижилась и последующие версии ОС стали получать названия сладостей в алфавитном порядке.

Число производителей телефонов, с которыми сотрудничала корпорация Google, к этому времени уже значительно увеличилось. Перспективной ОС заинтересовались Motorola, Samsung, LG и прочие гиганты. Между ними стала расти конкуренция на рынке. Чтобы выделиться среди прочих, используя одно и то же ПО, компаниям приходилось улучшать аппаратную часть выпускаемых устройств. По сути, Андроид и стал причиной «гонки производительности» выпускаемых смартфонов.

В этом же году Google решила выпустить фирменный смартфон. Поскольку собственных производственных мощностей у компании по-прежнему не было, за производство Google Nexus One (такое название получило новое устройство) взялась опять HTC.

Разработчики продолжали развивать и улучшать свою мобильную операционную систему и в том же году появился Android 2.2 Froyo. В этой версии была добавлена поддержка технологии Adobe Flash, облачной синхронизации данных, а также улучшена производительность программ, использующих компиляцию кода JIT.

С выходом самой успешной на тот момент версией Андроида компания Google запустила в продажу вторую версию своего брендового смартфона. В этот раз производителем была выбрана компания Samsung. Однако, к день начала продаж компания LG анонсировала свой новый телефон, использующий двухъядерный процессор. Поэтому Nexus S существенного коммерческого успеха достигнуть не удалось.

Операционная система для планшетов

В 2011 году Google решила дать достойный ответ Apple на ее iPad и адаптировала Андроид для планшетов. До того момента эта ОС использовалась только на телефонах. Так свет увидел версию Андроид 3.0 — Honeycomb. Многие компании, такие как Motorola, Samsung, Acer, Lenovo и прочие начали использовать данную версию ОС для своих планшетных ПК.

Из-за некоторых проблем в работе Android 3 и его несовместимости с телефонами, в дальнейшем компания Google отказывается от создания версий Андроид, предназначенных только для планшетов.

Кроссплатформенная ОС

Осенью 2011 года появилась четвертая версия ОС от Google, получившая название Ice Cream Sandwich. В ней был существенно переработан интерфейс, добавлены новые функции. Она уже стала кроссплатформенной – могла быть установлена как на планшет, так и на телефон. С выходом данной версии Андроид, магазин приложений получил новое название – Google Play.

В 2012-2013 году ОС практически не менялась. Компания Google больше сосредоточила свое внимание на производстве устройств, работающих под управлением Андроид. Так на рынке появились смартфоны Galaxy Nexus, ASUS Nexus 7, LG Nexus 4 и планшетный ПК Samsung Nexus 10.

В 2013 году была выпущена последняя версия Android 4.4, получившая название KitKat. По уже привычной традиции, совместно был выпущен Nexus 5, за производство которого отвечала компания LG. Данная версия ОС казалась практически совершенной. Разработчикам удалось создать удобный и привлекательный интерфейс, ничем не уступавший iOS того времени. Была отлажена работа всех сервисов, добавлена поддержка огромного числа функций. Но, Google не собиралась останавливаться на достигнутом.

Андроид 5 и версии ОС для носимых устройств

Решив расширить применение своей ОС, компания Google представила версию Android Wear, предназначенную для «умных часов». Но самое главное событие того года – выход версии Android Lollipop. В ней был полностью переработан интерфейс, который получил название «Material Design». Кроме внешних изменений были произведены существенные внутренние переработки. Ранее обработкой программного кода приложений занималась виртуальная машина Dalvik. На смену ей пришла Android Runtime, благодаря которой была существенно увеличена производительность ОС и снижено энергопотребление.

Версия Андроид 6.0 с поддержкой Google Now on Tap

Андроид 6 несколько разочаровал поклонников данной ОС, поскольку существенных изменений в интерфейсе и функционале в нем не произошло. Разработчики сосредоточились на создании технологии поиска в интернете информации о любом элементе, который находится на дисплее. Она получила название Google Now on Tap. Однако она не обрела ожидаемую популярность.

Кроме этого, Google всерьез взялась за решение проблем с уязвимостью ее ОС, начав регулярный выпуск патчей и обновлений. Также стоит отметить появившуюся систему управления привилегиями, которая запрашивает разрешение на использование тех или иных функций устройства. Для увеличения времени работы устройств были добавлены функции Doze и App Standby.

Эволюция Андроид – выход Nougat (версия андроид 7.0)

На текущий момент данная седьмая версия Андроид является последней. В скором будущем появится Android Oreo (предположительное название). В 7-й версии Андроид разработчики добавили возможность одновременной работы с двумя приложениями за счет разделения дисплея. Несмотря на то, что многие производители в своих прошивках уже реализовывали многозадачность, теперь она стала поддерживаться официально.

Увеличения скорости работы удалось добиться за счет перехода на новую Java 8 и обновления виртуальной машины ART. Приложения в Андроид 7 работают значительно быстрее за счет отказа от «стадии оптимизации» при их первом запуске.

Нововведения коснулись и интерфейса: в панель с быстрыми настройками теперь можно добавлять любые кнопки на усмотрение пользователя. Внешний вид уведомлений стал лучше, меню настроек получилось более детальным и структурированным. В новой версии Андроида реализована полноценная поддержка виртуальной реальности. Уведомления теперь группируются по принадлежности к приложениям, в них добавлены значки «эмодзи».

Кроме перечисленного выше, Андроид 7.0 превосходит все предыдущие версии благодаря следующим особенностям:

  • возможность смены разрешения дисплея;
  • упрощенная процедура обновления ОС;
  • приостановка фоновых процессов при выключенном экране для экономии заряда аккумулятора;
  • поддержка нового персонального помощника Google Assistant;
  • функция закрытия всех работающих приложений одним нажатием;
  • поддержка мгновенных приложений, для работы которых не требуется установка;
  • ночной режим для меньшей нагрузки на глаза во время использования устройства в темное время суток;
  • функция экономии интернет-трафика.

Все это делает Android Nougat одной из лучших операционных систем для мобильных устройств на сегодня. Если судить по заявленным нововведениям последующей версии Андроид, они будут иметь скорее косметический характер и ничего революционного не привнесут. Google сейчас больше сосредоточила свое внимание на безопасности, производительности и энергоэффективности своей ОС. Но, разработчики по-прежнему не забывают радовать пользователей хоть небольшими, но полезными изменениями в интерфейсе и функционале.

Мобильные устройства на платформе Android довольно популярны на рынке телефонии. ОС "Андроид" идеально подходит для телефонов и планшетов. Благодаря большому объему памяти и высоким техническим характеристикам работа с данной операционной системой становится намного проще.

ОС "Андроид": описание

Эксперты считают, что популярность системы Android увеличивается из-за постоянного выпуска различного вида устройств на этой платформе, которые имеют в своем арсенале большое количество полезных функций. Как только новая ворвалась на рынок технологий, у пользователей появились и новые возможности.

Помимо уже существующей техники, в будущем планируется выход телевизоров на базе "Андроид", которые, несомненно, станут неотъемлемой частью современной жизни. Сейчас же активно ведутся разработки новых приложений, которые помогут синхронизировать работу между мобильным телефоном на платформе Android и автомобильными устройствами, такими как GPS-навигаторы. При этом каждое обновление прошивки системы расширяет функционал устройства, полностью подстраивая его под пользователя.

Как синхронизировать систему с Google?

Система "Андроид" открывает море возможностей: использование карт Google Maps, электронной почты и т.д. Чтобы пользоваться всеми сервисами через одно устройство Android, достаточно синхронизировать систему с Google. Для этого необходимо просто ввести свои данные (логин и пароль), после чего ОС самостоятельно подключится ко всем приложениям.

Помимо стандартных аппликаций, не так давно вышли в свет и совершенно новые разработки. Так, например, пользователям коммуникаторов программа Google Voice позволит обмениваться информацией, не прикладывая больших усилий. После синхронизации устройства с Google пользователи также смогут работать с приложением Play Market, с помощью которого на телефон или планшет можно установить море различных игр и программ (как платных, так и бесплатных).

Секреты "Андроид" для начинающих

Чтобы работа с устройством на данной платформе была еще проще, продвинутые пользователи нашли несколько полезных функций. Секреты "Андроид" помогут по максимуму оптимизировать систему и настроить ее под себя.

Первой довольно полезной функцией считается быстрый набор. Всем известно, что система "Андроид" имеет несколько рабочих столов, на которых размещаются ярлыки различных приложений. Так вот, чтобы упростить набор контактов, достаточно нажать на свободном месте экрана, выбрать меню «Ярлык» и «Контакты», а после этого отметить самый популярный номер и поместить его на рабочий стол. Теперь набор этого контакта будет осуществляться одним нажатием на ярлык.

Мало кому известно о том, что на Android-клавиатуре присутствуют специальные символы. Чтобы открыть их, необходимо только долгое нажатие на точку или запятую. Точно так же открывается и набор цифр.

Бывают такие ситуации, когда набирать большой текст вручную совсем неудобно. Для этого и существует такая функция, как голосовой поиск. Не все начинающие пользователи знают секреты "Андроид", а заметить небольшой значок в виде микрофона на строке поиска Google не так просто. Поэтому мало кто пользуется такой полезной функцией. А ведь нужно всего-то нажать на этот значок и произнести вопрос, который сразу же становится текстом.

Если после случайного нажатия не на ту кнопку открытое приложение куда-то делось, то, скорее всего, оно просто свернулось. Чтобы вернуть свернутое приложение на экран, достаточно зажать кнопку с изображением небольшого домика и выбрать из списка то, которое вам необходимо.

И это только несколько советов. На самом деле скрытых возможностей существует намного больше. Небольшие секреты "Андроид" помогут наладить работу операционной системы и максимально настроить ее под пользователя.

Как узнать больше об установленной системе?

Зачастую пользователям необходимо узнать подробную информацию о мобильном устройстве. Например, версию ОС Android, тип процессора и многое другое. Такие данные иногда требуются для того, чтобы установить какое-либо приложение или программу. На самом деле в этом нет ничего трудного.

Вариант 1. Узнать некоторые системные данные можно с помощью стандартных настроек. Достаточно открыть настроечное меню, далее необходимо выбрать пункт «О телефоне». В некоторых устройствах после этого открывается список информации о системе. Если же на экране появилась не вся информация, нужно нажать на пункт «Версия ПО». Здесь можно будет найти основные данные об операционной системе устройства.

Вариант 2. Этот способ подойдет тем, кому требуются расширенные данные об ОС. Чтобы получить эту информацию, необходимо скачать специальную программу с Play Market, после чего открыть ее. Вся системная информация появится на экране.

Перепрошивка "Андроид" системы

Многие пользователи интересуются, как установить операционную систему с более новой версией на свое мобильное устройство. Однако перед тем как настраивать ОС, стоит задуматься о том, можно ли самостоятельно перепрошивать Android. А ведь этот вопрос очень спорный.

В-первую очередь стоит обратить внимание на устройство. Не все мобильные гаджеты поддаются перепрошивке. Тем более что на китайских устройствах данное действие вообще не предусмотрено. Самостоятельное вмешательство в операционную систему только выведет из строя девайс. Так что размышляя о том, как установить операционную систему, следует, прежде всего, определиться с тем, что приоритетнее в данной ситуации - более новая версия или нормально работающий гаджет.

Лучшие программы для синхронизации устройства с ПК

Иногда необходимо, чтобы управление мобильным устройством было возможно с компьютера. Для этого существуют специальные программы, которые помогут пользователям синхронизировать Android с ПК.

Android PC Suite делает возможным совершение звонков и отправку сообщений через компьютер. Кроме того, с помощью этого приложения можно сделать резервную копию всех данных на устройстве.

Задачи, заметки и календарь, а также устанавливает драйвера на мобильный гаджет.

My Phone Explorer управляет файлами, телефонной книжкой и другой информацией через компьютер, а также позволяет узнать подробные данные об Android-устройстве.

Определение того, что такое «Андроид» в телефоне, является таким: это предназначенная в первую очередь для сенсорных мобильных устройств. Будучи изначально разработанной для компании Android Inc с финансовой поддержкой Google и позже выкупленной этой компанией в 2005 году, ОС была представлена в 2007 году вместе с альянсом Open Handset Alliance. Первый телефон на этой платформе был продан в октябре 2008 года.

Android имеет открытый исходный код, который Google выпускает под лицензией Apache. Это означает, что при помощи разрешительного лицензирования можно разрабатывать программное обеспечение, благодаря чему ОС быстро стала популярной среди специалистов и разработчиков. Поэтому, говоря о том, что такое «Андроид» в телефоне, можно смело утверждать, что это - платформа, имеющая большое сообщество разработчиков, которые пишут приложения, расширяющие функциональность устройств. Как правило, все приложения пишутся на специальной версии В октябре 2012 года насчитывалось около 700 000 приложений, доступных для загрузки на телефон программы «Андроид», а оценочное число приложений, загружаемых из Google Play, первичного официального магазина, составило 25 миллиардов долларов.

Эти факторы способствовали тому, что Android стала наиболее широко используемой платформой для смартфонов в мире, обогнав Symbian в четвертом квартале 2010 года. Многие технологические компании быстро разобрались в том, что такое «Андроид» в телефоне, и сегодня она повсеместно используется как недорогая, настраиваемая и легкая в использовании операционная система для высокотехнологичных устройств.

Несмотря на то, что она предназначена в первую очередь для телефонов и планшетов, были разработаны дополнительные приложения для телевизоров, игровых консолей, цифровых камер и другой электроники. Если ранее был актуальным только вопрос о том, как установить «Андроид» на телефон, то сегодня обсуждается возможность загрузки ОС на любой гаджет. Открытый характер Android в дальнейшем повлиял на образование большого сообщества разработчиков и энтузиастов, которые стали использовать ее открытый исходный код в качестве основы для совместных проектов. В результате указанных проектов появились новые функции, рассчитанные на продвинутых пользователей.

Android основан на прямых манипуляциях, осуществляемых с помощью сенсорного входа. Все действия в этой ОС слабо соответствуют реальным нажатиям, поскольку пользоваться меню можно легкими движениями пальца. На таких устройствах ответ на пользовательский ввод происходит немедленно и обеспечивается за счет жидкости, содержащейся в дисплеях с сенсорным интерфейсом. Внутренние (акселерометры, гироскопы и датчики) также используются некоторыми приложениями и позволяют реагировать на другие действия пользователя. Таковыми являются изменение ориентации экрана с книжной на альбомную, а также возможность совершать различные действия в играх.

Если говорить о том, что такое «Андроид» в телефоне визуально, то рабочий стол состоит из иконок приложений и виджетов. При такой разметке иконки предназначены для того, чтобы запустить соответствующее приложение, в то время как виджеты отображают живое и контента - прогноз погоды, состояние электронной почты пользователя или тикер новостей.

Статьи и Лайфхаки

Сегодня уже тяжело найти такого человека, который бы не любил окружать себя «умной» техникой. Фраза «без телефона – как без рук» звучит все чаще и чаще, а представить себе жизнь без плеера, ноутбука или другого популярного гаджета вообще невозможно.

Поэтому знать о новинках, появляющихся на рынке современной электроники должен каждый. Вот, например, далеко не каждый знает о том, что такое платформа андроида, а мы попробуем разобраться.

Что такое Андроид

  • Андроид – это операционная система, которая может управлять мобильным устройством (телефоном, планшетным компьютером, смартфоном). Платформа андроид была разработана на основе ядра Linux.
  • Появилась же она благодаря тому, что в 2005 году компания Google купила компанию Android Inc, сделав ее своим дочерним предприятием, и начала выпускать одноименные платформы для мобильных устройств. С тех пор платформа только развивается.
  • Андроид очень часто выпускает новые версии своей программы. Примечательным является тот факт, что первые буквы названия каждой новой версии соответствуют буквам латинского алфавита.
  • Сегодня платформа андроид занимает второе место по популярности в мире, уступая лишь в операционной системе iOS, которая была разработана для iPhone.

Для чего нужен Андроид

  • Как известно, операционная система – это «мозг» любого электронного устройства, который нужен для того, чтоб оно выполняло все команды человека.
  • Соответственно, андроид – это виртуальный робот, сидящий внутри мобильного устройства, который отвечает за выполнение всех процессов, происходящих внутри этого устройства.
  • Преимущество данной платформы состоит в том, что андроид имеет удобный и очень понятный интерфейс, а также гибкую и мультизадачную систему, которая позволяет запускать несколько приложений сразу и экспериментировать с настройками.
  • Кроме всего прочего, многочисленные приложения, созданные специально для платформы андроид, дают счастливым пользователям этой системы поистине безграничные возможности.
  • Ведь с помощью этих приложений можно расплачиваться за покупки, делать фотографии, смотреть фильмы или читать книги.
  • Разобравшись с тем, что такое андроид, можно сделать вывод о том, что эта платформа создана для творческих людей, ведь два одинаковых мобильных устройства могут выглядеть совершенно по-разному.
  • Андроид позволяет всегда иметь при себе все – личного фитнесс-тренера, доктора, игрушку или телевизор, делая человеческую жизнь максимально комфортной.

Те, кто использует iPhone давно, знают, как работали ранние версии iOS. Фактически это была однозадачная операционка, которая позволяла работать в фоне или прерывать работу текущего приложения только предустановленным приложениям: вы читаете книжку, вам звонят - книгочиталка сворачивается, и на экране появляется окно звонка. А вот обратная операция невозможна: книгочиталка не только не может прервать работу других приложений, но и будет убита сразу после сворачивания.

Смысл существования такой системы, конечно же, в том, чтобы сэкономить процессор, оперативную память, а также ресурс батареи. Благодаря ей (но не только) iPhone мог работать быстро в условиях ограниченных ресурсов и очень бережно относился к батарее.

Как устроена операционная система Андроид

Android всегда работал иначе. Здесь можно запустить множество различных приложений и все они будут оставаться в памяти и даже смогут работать в фоне. Вы открываете браузер, вводите адрес и, пока загружается страница, запускаете почтовый клиент и читаете письма. Все как на десктопе, с тем исключением, что вам не нужно заботиться о закрытии приложений, система сделает это сама, когда оперативная память подойдет к концу или ее не хватит для размещения запускаемого приложения (само собой, в первую очередь в расход пойдут редко используемые приложения). Этот механизм называется lowmemorykiller .

Имея права root, настройки lowmemorykiller можно регулировать напрямую или с помощью специальных приложений

Важным элементом системы многозадачности были службы (service). Это особые компоненты приложений, которые могли работать в фоне абсолютно в любых условиях: включен экран или выключен, свернуто приложение или развернуто, службам плевать даже на то, запущено ли родительское приложение вообще. Оно просто говорило: «Эй, Android, мне нужны ресурсы процессора, я хочу сделать некоторые расчеты» - и получало эти ресурсы. В терминологии Android такой запрос к системе называется wakelock (а если точнее - процессорный wakelock).

Однако поддержка такого мощного и полезного инструмента сыграла с Google злую шутку. Появилось огромное количество приложений, которые плодили службы на каждый чих, постоянно выполняли какую-то работу и не давали смартфону спать. Установив на смартфон сотню приложений, пользователь получал несколько десятков служб, каждая из которых периодически что-то делала (обновить ленту твиттера, пока телефон спит, - это же так важно).

Дела обстояли настолько плачевно, что китайские производители, не обремененные задачей сохранить совместимость с оригинальным Android (это требуется, если хотите устанавливать на свои смартфоны Play Store), просто отключили в своих смартфонах механизмы поддержания жизненного цикла служб для несистемных приложений.

Продвинутые юзеры шли другим путем: они получали права root и устанавливали приложение Greenify, которое позволяло заморозить службы выбранных приложений так, чтобы их уже никто не смог разбудить. Существовали и более радикальные варианты, например снести весь софт, которым пользуешься реже одного раза в сутки.

Сама Google также предпринимала определенные действия для борьбы с «ядовитыми» службами. Большой шаг в этом направлении был сделан в Android 4.4, где появился интеллектуальный механизм, который определял, не работает ли служба слишком много времени и не сильно ли она грузит процессор, и, если это оказывалось так, прибивал ее на месте и не давал запуститься. Даже на поверхностный взгляд эта версия системы жила на батарейке заметно дольше предыдущих.

В Android 6.0 Google пошла еще дальше и оснастила ее механизмом Doze , который после определенного времени неактивности смартфона (около одного часа) переводил его в специальный энергосберегающий режим. Одна из особенностей этого режима - запрет на wakelock, то есть ни приложения, ни службы просто не могут разбудить смартфон, чтобы выполнить какую-либо работу. На глаз Android 6.0 не стал жить дольше, так что неизвестно, сработал ли этот механизм вообще.


Шкала работы Doze

И наконец, в Android 8.0 Google пошла на радикальный шаг - запретила работу фоновых служб. Но с двумя исключениями:

Приложение в некоторых случаях, например когда оно находится на экране, может запускать службы, но Android прибьет их после ухода приложения в сон.
Видимые пользователю службы до сих пор разрешены. Это так называемый foreground service , служба, которая видна в панели уведомлений и имеет иконку в статусбаре.

Казалось бы, да, службы - это зло, но как теперь быть таким приложениям, как противоугонное, которое должно работать незаметно в фоне? Или тот же почтовый клиент? Из-за необходимости периодически проверять почту он должен висеть в панели уведомлений?

На самом деле нет. Google шла к запрету служб еще с версии 5.0, где появился так называемый JobScheduler . Это специальная подсистема, которая позволяет приложениям попросить Android выполнить ту или иную работу в такое-то время или при возникновении такого-то события (подключение к интернету, например). И да, JobScheduler сильно напоминает аналогичную функцию из iOS.

Binder

Вопреки расхожему мнению, Android с самых первых версий использовал песочницы для изоляции приложений. И реализованы они были весьма интересным образом. Каждое приложение запускалось от имени отдельного пользователя Linux и, таким образом, имело доступ только к своему каталогу внутри /data/data .

Друг с другом и с операционной системой приложения могли общаться только через IPC-механизм Binder , который требовал авторизации на выполнение того или иного действия. Этот же механизм использовался и для несколько других целей: с его помощью система оповещала приложения о системных событиях, таких как входящий вызов, пришедшее СМС, втыкание зарядки и так далее. Приложения получали сообщения и могли на них отреагировать.


Работу Binder обеспечивают драйвер в ядре Linux и Service Manager

Эта особенность дала Android очень широкие возможности автоматизации, о которых мы знаем благодаря таким приложениям, как Tasker, Automate или Locale. Все эти приложения доступны и для Android 8, разве что некоторые опасные возможности, такие как включение/выключение режима полета, теперь запрещены для использования обычными приложениями.

Система оповещения базируется на интентах (intent) , специальном механизме, реализованном поверх Binder и предназначенном для обмена информацией между приложениями (или ОС и приложениями), а также запуска компонентов приложений. С помощью интентов можно оповещать приложения о событиях, попросить систему открыть приложение для обработки определенных типов данных (например, чтобы открыть определенную страницу в браузере, достаточно послать широковещательный интент со ссылкой на страницу, и на него откликнутся все приложения, способные отображать веб-страницы, либо только дефолтовый браузер) или просто запустить компонент того или иного приложения. Например, приложения в Android запускаются не напрямую, а с помощью интентов.

К сожалению, как и службы, интенты стали проблемой для Google и пользователей Android. Дело в том, что широковещательные интенты, используемые для уведомления приложений о событиях, приходят сразу ко всем приложениям, которые заявили, что способны на них реагировать. А чтобы приложение смогло среагировать на интент, его надо запустить. Картина получается такая: на смартфоне есть двадцать приложений, которые могут реагировать на интент android.net.conn.CONNECTIVITY_CHANGE, и при каждом подключении к сети и отключении от нее система запускает эти приложения, чтобы они смогли среагировать на интент. Как это сказывается на энергопотреблении - представьте сами.

Google исправила это недоразумение опять же в Android 8.0. Теперь приложения могут регистрировать обработчики широковещательных интентов только во время своей работы (за небольшими исключениями).

Сервисы Google

Google любит бравировать тем, что Android - операционная система с открытым исходным кодом. Это, конечно же, не совсем так. С одной стороны, код Android действительно открыт, и именно поэтому мы имеем доступ к такому количеству разнообразных кастомных прошивок. С другой стороны, собрав Android из официальных исходников, вы получите систему без нескольких важных компонентов: 1) отдельных драйверов, исходники которых производитель прячет, как коммерческую тайну, 2) сервисов Google, которые нужны в первую очередь для получения доступа к аккаунту, запуска Google Play и облачного бэкапа.

Сервисы Google (Google Mobile Services) также отвечают за многие другие вещи, включая поддержку push-уведомлений, Instant Apps, Google Maps, доступ к календарю, определение местоположения по сотовым вышкам и Wi-Fi-роутерам, механизм Smart Lock, позволяющий разблокировать устройство в зависимости от некоторых условий.

В современных версиях Android сервисы Google взяли на себя настолько большую часть работы, что жить без них оказывается хоть и возможно, но очень проблематично. А с ними тоже невесело: минимальный вариант пакета GApps (который содержит только сервисы Google и Google Play) весит больше 120 Мбайт, а сами сервисы славятся своей любовью к оперативке и заряду батареи. А еще они закрыты, то есть о том, что они могут делать, знает только сама Google.


Скачать пакет с сервисами и приложениями Google для кастомной прошивки можно с сайта opengapps.org (слово open не означает, что они открыты)

Именно поэтому на свет появился проект microG, задача которого - воссоздать самую важную функциональность сервисов Google в открытом коде. Уже сейчас microG позволяет получить доступ к своему аккаунту, активировать push-уведомления, доступ к картам Google и определению местоположения по сотовым вышкам. И все это при размере в четыре мега и почти полном отсутствии требований к оперативке и ресурсу батареи.

У проекта есть собственная сборка прошивки LineageOS, которая из коробки включает в себя microG и все необходимые для его работы модификации.

Ядро Linux и рантайм

Android основан на ядре Linux. Ядро управляет ресурсами смартфона, в том числе доступом к железу, управлением оперативной и постоянной памятью, запуском, остановкой и переносом процессов между ядрами процессора и многими другими задачами. Как и в любой другой ОС, ядро - это сердце Android, центральная часть, без которой все остальное развалится.


Слоеный пирог Android

Наличие ядра Linux, а также частично совместимой со стандартом POSIX среды исполнения (в первую очередь это библиотека bionic, основанная на реализации стандартной библиотеки языка С из OpenBSD) делает Android совместимым с приложениями для Linux. Например, система аутентификации wpa_supplicant, применяемая для подключения к Wi-Fi-сетям, здесь точно такая же, как в любом дистрибутиве Linux. В ранних версиях Android использовался стандартный bluetooth-стек Linux под названием bluez (позже его заменили реализацией от Qualcomm под названием Bluedroid). Здесь даже есть своя консоль с набором стандартных UNIX/Linux-команд, реализованных в наборе Toybox, изначально созданном для встраиваемых Linux-систем.

Большинство консольных приложений, написанных для Linux, можно портировать в Android простой перекомпиляцией с помощью кросс-компилятора (главное - использовать статическую компиляцию, чтобы не получить конфликт библиотек), а имея права root, на Android-девайсе можно без всяких проблем запустить полноценный . Один нюанс - доступ к нему можно будет получить либо только через консоль, либо используя VNC-соединение. Также существует проект Maru OS, позволяющий использовать смартфон в качестве ПК на базе Debian при подключении к монитору. Ту же функцию обещает при подключении своих смартфонов к монитору с помощью дока DeX.


Старый добрый mc, запущенный в Android

Начиная с версии 4.4 Android умеет использовать систему принудительного контроля доступа SELinux для защиты от взлома и получения прав root. SELinux разработана Агентством национальной безопасности США и, если не вдаваться в детали, позволяет ограничить приложения (в том числе системные низкоуровневые компоненты) в возможностях. И речь вовсе не о полномочиях, которые юзер предоставляет приложениям, а о таких вещах, как системные вызовы и доступ к тем или иным файлам, невзирая на стандартные права доступа UNIX.

Серия уязвимостей Stagefright, поразивших Android несколько лет назад, позволяла получить контроль над устройством, просто заставив юзера открыть пришедшую MMS или специальный файл в браузере. Проблема состояла в мультимедиафреймворке Stagefright, содержащем сразу несколько уязвимостей переполнения буфера. При открытии специальным образом подготовленного мультимедиафайла эксплоит использовал уязвимость и запускал на устройстве код от имени Stagefright (который работал под рутом).

Все эти баги Google благополучно закрыла, а также поработала над модуляризацией кода фреймворка и его запуском в специальных доменах SELinux. Эти домены запрещают компонентам, ответственным за обработку мультимедиа, использовать большую часть системных вызовов Linux, включая системные вызовы группы execve, которые как раз и были причастны к запуску зловредного кода.

Сегодня SELinux используется для защиты почти всех системных компонентов Android. И это стало причиной резкого снижения количества найденных багов в Android. Но привело к фокусировке взломщиков на ядре, а точнее тех самых закрытых драйверах, аудит кода которых никто не проводил и безопасность которых не гарантирована (а она, как оказалось, находится в плачевном состоянии).

(6 оценок, среднее: 5,00 из 5)