Операционная система android основана. Что такое операционная система Android. Установка приложений из сторонних источников

Операционная система Андроид от Google

История развития Android, обновления Android, Android Market

Раздел 1. Характеристики операционной системы Android.

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

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

Характеристики операционной системы Android

Изначально разрабатывалась компанией Android Inc., которую затем купила Google. Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA), который сейчас и занимается поддержкой и дальнейшим развитием платформы. Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit создаёт приложения, написанные на Си и других языках.

В 75 % смартфонов, проданных в третьем квартале 2012 года, была установлена операционная система Android.

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

Операционную систему разработала компания Android Inc., которая затем была приобретена Google и переведена в OHA - Open Handset Alliance, объединение, занимающееся разработкой и внедрением открытых мобильных стандартов. Помимо Google, в OHA входят такие гиганты как HTC, Intel, Motorola, Qualcomm, Samsung, LG, T-Mobile и Nvidia.

Видео:

Хотя ОС и базируется на ядре Linux, в ней используются далеко не все возможности этой операционной системы. Причиной тому - использование виртуальной машины Dalvik, в которой и работает все программное обеспечение. Но с релизом Native Development Kit у разработчиков появилась возможность создавать native-приложения на C и других языках программирования.


История обновлений Android

Первая версия Андроид была представлена в далеком сентябре 2008 года и только для коммуникатора T-Mobile G1 (HTC Dream). Он же получил обновление и до версии 1.1, анонсированной полгода спустя.

Стремительное развитие операционной системы началось с версии Cupcake (1.5) и Donut (1.6). Версия 2.0 Eclair стала промежуточной, точно такое же имя носила и версия 2.1. Именно под управлением последней были представлены одни из самых популярных устройств - Nexus One и его «брат» HTC Desire.

Затем вышел релиз Android 2.2 Froyo, подаривший пользователям поддержку веб-технологий HTML5 и Flash 10.1, что позволило получить значительное преимущество перед конкурентами.

Следом компания представила Android 2.3 Gingerbread с обновленным пользовательским интерфейсом, поддержкой стандарта NFC, нескольких камер и дисплеев высокого разрешения.


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

К сожалению, Android 3.0 Honeycomb будет доступен только для планшетников. На коммуникаторах мы сможем увидеть лишь портированные версии или...

На данный момент о версии Android 2.4 известно лишь из слухов. Но, возможно, именно она станет адаптированным для смартфонов и коммуникаторов аналогом планшетной версии.

Видео:

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


К ноябрю 2012 года выпущено 14 версий системы. Последняя версия - 4.2 Jelly Bean («Леденец с жевательной начинкой»).

Существует сообщество энтузиастов, разрабатывающее полностью открытые варианты android-прошивок (такие как CyanogenMod, MIUI, Virtuous Quattro, VillainROM, Open Kang Project, Replicant).

Модифицированные версии Android (называемые также «прошивка», или «кастомная прошивка») создаются для:

удаления из android-устройства сервисов Google (например, таких, как синхронизация данных) - для обеспечения локализации данных пользователя только на android-устройстве - исключения возможности передачи идентификационной информации (IMEI, номера телефона, GPS-координат и т. д.) на серверы Google;

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

Видео:

дополнения android-прошивки новыми настройками и функциями. Такими, как поддержка FLAC Lossless Audio, возможность хранения загруженных приложений на MicroSD-карте (для Android до версии 2.2) и т. д.


Для перепрошивки android-устройства необходим root-доступ (это называется рутинг, англ. rooting), что даёт больший контроль над системой и над приложениями, установленными по умолчанию. Для root-доступа разблокировка загрузчика не нужна (разблокированный bootloader позволяет загружать две и более ОС на устройстве). Модифицированные прошивки позволяют пользователям старых телефонов использовать приложения, доступные только для более новых релизов, повышают стабильность, скорость работы и зачастую избавляют от багов производителей.

Все производители android-устройств изначально аппаратно блокируют root-доступ (и возможность перепрошивки), мотивируя это стремлением обезопасить пользователя от установки вредоносного ПО и защитить аппарат от повреждения. Однако, из-за применения в массовом порядке сложных хакерских приёмов для обхода этой защиты, производители вынуждены были пойти навстречу и создать возможность официальной разблокировки телефонов (Sony Ericsson - сервис Unlocking the boot loader, HTC - сервис Unlocking Your Bootloader). Риск, связанный с возможной поломкой телефона в процессе разблокирования, перекладывается на пользователя, который в случае разблокирования загрузчика соглашается с условиями, указывающими на досрочную потерю гарантии на телефон. А некоторые производители пошли ещё дальше и сделали всё, чтобы продвинутый пользователь мог не только установить другую прошивку, но и самостоятельно создать свою (предоставляется детальная инструкции по замене прошивок, программное обеспечение, документация по архитектуре программной платформы, код оригинальной прошивки и т. д.) и осуществляют поддержку разработки альтернативных прошивок (Sony Ericsson спонсирует CyanogenMod). Кроме того, это (инициатива Sony Ericsson) устраняет необходимость использовать непроверенный хакерский инструментарий для процесса перепрошивки (например, для HTC).

В конфликте интересов двух сторон (производителей самих телефонов вместе с Google и пользователей) прослеживается следующая мотивация:

производители хотят устанавливать на телефоны «рекламные» приложения, которые невозможно удалить без рутинга;

Видео:

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

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

24 сентября 2009 года Google обратилась к разработчикам CyanogenMod с письмом, требующим удаления из альтернативной прошивки частей системы и приложений с закрытым исходным кодом (такими как «Маркет», GPS навигация, «Карты» и т. д.). В результате из android-версии CyanogenMod были удалены «закрытые» приложения, и в процессе установки CyanogenMod пользователь имеет возможность доустановить пакет программ от Google или доустановить альтернативные варианты «закрытых» программ (альтернативный вариант «Карты» и т. д.), что разрешило спор и предоставило возможность пользователям быть или не быть свободными от Google-приложений.


История развития Android

июль - Компания Google купила Android Inc.

5 сентября - было официально объявлено о создании группы компаний Open Handset Alliance (OHA), целью которой является разработка открытых стандартов для мобильных устройств. В настоящий момент OHA объединяет 34 компании, среди которых крупнейшие сотовые операторы T-Mobile, производители мобильных устройств HTC, Intel, Sprint Nextel, KDDI, NTT DoCoMo, China Mobile, разработчики микросхем Broadcom, Marvell, NVIDIA, Qualcomm, SiRF, Texas Instruments, LG, Motorola, Samsung Electronics, а также мировой гигант ИТ-индустрии и один из главных идейных вдохновителей альянса, компания Google. Одновременно с представлением OHA была анонсирована открытая мобильная платформа Android, основанная на ядре Linux.

12 ноября - была представлена и предложена для скачивания первая версия пакета для разработчиков Android «Early Look» SDK.


23 сентября - компания Google совместно с мобильным оператором T-Mobile и тайваньским производителем HTC анонсировали первое устройство на базе платформы Android 1.0 - смартфон T-Mobile G1 (HTC Dream).

Выпущен первый полноценный пакет разработчика SDK 1.0, Release 1.

12 января - выпущена Android 2.1. В некоторых источниках эта версия называется «Flan», однако это часть релиза «Eclair».

май - выпущена Android 2.2 (FroYo)

декабрь - выпущена Android 2.3 (Gingerbread)

15 августа - Google достигла соглашения с советом директоров Motorola Mobility о покупке телекоммуникационной корпорации за 12,5 млрд долл.

Специально для платформы Android было создано семейство шрифтов Droid и Roboto.

Название каждой версии, начиная с 1.5, ОС Android представляет собой название какого-либо десерта. Первые буквы наименований в порядке версий соответствуют буквам латинского алфавита: 1.5 Cupcake («кекс»), 1.6 Donut («пончик»), 2.0/2.1 Eclair («эклер» или «глазурь»), 2.2 Froyo (сокращение от «замороженный йогурт»), 2.3 Gingerbread («имбирный пряник»), 3.0 Honeycomb («медовые соты»), 4.0 Ice Cream Sandwich («брикет мороженого»), 4.1/4.2 Jelly Bean («леденец с жевательной начинкой»), 5.0 Key Lime Pie («лаймовый пирог»), Lollipop («леденец»), Molasses («меласса») и Nougat («нуга») (курсивом выделены будущие и/или неподтверждённые версии).

Первые две были именами известных роботов: 1.0 Astro («Астро Бой») и 1.1 Bender («Футурама»), но их поменяли на десерты из-за авторских прав.

По данным на февраль 2011 года устройства с ОС Android уверенно лидировали в списке самых популярных смартфонов Великобритании, оставив позади iPhone 4 c iOS. По прогнозам экспертов, это первый шаг ОС Android к глобальному лидерству на рынке мобильных операционных систем.

На официальных сайтах Android до сих пор не указаны минимальные требования к аппаратным средствам для запуска операционной системы (присутствуют только требования к аппаратным средствам для пакета разработки под Android).

На официальном сайте Android слева внизу если навести курсором на робота, то он выполняет разные движения, а при нажатии он машет рукой.

В версии Android 1.6 разработчики добавили Native Development Kit, который позволяет писать собственные низкоуровневые модули для системы на языке C/С++, опираясь на стандартные linux-библиотеки. Хотя, например, стандартная библиотека языка Си на платформе Android, известная как Bionic, как раз не является стандартной и полностью совместимой с libc.

Видео:

Для доступа к Google Play и другим сервисам от Google необходимо использовать проприетарные приложения, которые производитель телефона имеет право устанавливать на телефон только после заключения контракта с Google.

Конкуренты Android выступили с критикой платформы, обвиняя её в чрезмерной фрагментации, создающей препятствия разработчикам. Google опровергла все обвинения, заявив, что никаких подобных проблем нет, но, тем не менее, выпустила средство для преодоления проблем фрагментации.

Подвергается критике решение Google не размещать в широком доступе код Android 3.0 Honeycomb, доступный только для участников Open Handset Alliance или по индивидуальному запросу после подписания соглашения. Googlе мотивирует это неготовностью платформы и мерой предупреждения небрежной её реализации.

Ричард Столлман заявлял, что «всё просто и ясно: за исключением ядра Linux, Android 3 представляет собой несвободный софт» и «несмотря на то что телефоны с Android на сегодняшний день не так плохи, как смартфоны Apple или Windows, нельзя сказать, что они уважают вашу свободу». По словам Google, закрытый код Android 3.0 - временная мера, однако даже после выхода 4-й версии исходники 3.0 не были открыты.

По данным Lookout Security Mobile, только за 2011 год у пользователей Android-смартфонов было украдено около миллиона американских долларов.

21 октября 2008 года альянс OHA опубликовал исходный код платформы Android. В релиз вошёл весь стек Android: и операционная система, и промежуточное ПО (middleware), и основные конечные приложения, написанные на Java. Общий объём исходного кода Android составил 2,1 Гб. «Предпочтительной лицензией» на исходный код Android является Apache License 2.0. После выпуска Android 3.0 Honeycomb президент мобильного подразделения Google Энди Рубин заявил о том, что открытие исходного кода новой версии системы будет отложено по причине того, что система была плохо готова для запуска на коммуникаторах и требует значительных оптимизаций. Это решение вызвало критические оценки аналитиков: например, обозреватель ZDNet Кристофер Доусон назвал такой ход Google разочаровывающим. Но, согласно данным компанией обещаниям, Google открыла осенью 2011 года исходные коды следующей версии системы - Android 4.0 Ice Cream Sandwich.


Устройства c Android

Первым устройством, работающим под управлением Android, стал разработанный компанией HTC смартфон HTC Dream (официально выпущен сотовым оператором T-Mobile под названием T-Mobile G1), презентация которого состоялась 23 сентября 2008 года. Вскоре последовали многочисленные заявления других производителей смартфонов о намерении выпустить устройства на базе Android. С выходом Android третьей версии (Honeycomb), ориентированной на планшеты, всё больше производителей стали объявлять и о выпуске планшетов на этой платформе. Также компания Google в сотрудничестве с разными гигантами мобильной индустрии выпускает собственные устройства в серии «Google Nexus». Именно эти устройства первыми получают обновления до новых версий.

Кроме смартфонов и планшетов операционную систему Android устанавливают и на другие устройства. Так, в конце 2009 года появилась в продаже первая фоторамка, работающая на Android. В июне 2011 года итальянская компания Blue Sky анонсировала выпуск интеллектуальных наручных часов i’mWatch под управлением ОС Android. В августе 2012 года Nikon представила первую в мире фотокамеру, которая также работает на платформе от Google. В уже упомянутой серии «Google Nexus» присутствуют не только смартфоны и планшеты, но и медиаплеер Nexus Q, работающий на Android.


Кроме того, энтузиасты портировали Android на ряд известных устройств, среди которых, например, смартфоны на платформе Windows Mobile HTC Touch Dual и HTC TyTN II, на которых Android был запущен в режиме эмуляции. Также было осуществлено полноценное портирование на такие устройства, как интернет-планшеты, работающие на Maemo - Nokia N810 и Nokia N900 (порт под названием Nitdroid), - и на смартфоны Nokia N9, работающий на платформе MeeGo, и HTC HD2, работающий на операционной системе Windows Mobile, на котором ОС Android можно запускать как с microSD-карты, так и с внутренней NAND-памяти. При этом установленная система имеет полную, ничем особо не ограниченную функциональность. Помимо этого есть удачный опыт установки Android на некоторые устройства Apple - iPhone, iPod Touch и iPad с помощью специальной программы под названием Openiboot, которая предназначена для запуска на данных устройствах разнообразных ОС, в том числе и Android. Появляются предварительные прошивки с ограниченной функциональностью на устройствах на операционной системе Bada. Компания Koolu не только занялась портированием Android на Neo FreeRunner, но и строила свой бизнес на продаже этих смартфонов с предустановленной мобильной платформой от Google. Первый официальный и общедоступный бета-релиз порта Android на Neo FreeRunner от Koolu состоялся в декабре 2008 года. Также Android портирован на архитектуру x86.


Источники

Википедия – Свободная энциклопедия, WikiPedia

android.com – Сайт Android

proandroid.net – Приложения для Android

youhtc.ru – Всё для телефонов НТС

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

История появления

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

История создания ОС началась еще в 2003 году. В то время была основана небольшая организация под названием Android inc. Её учредителями были Рич Майнер, Крис Уайт, Энди Рубин и Ник Сирс. Уже тогда велись некоторые разработки, которые планировалось реализовать в новой операционной системе. Компания осуществляла свою деятельность в условиях строжайшей секретности.

Вскоре у организации закончились деньги, а значительных достижений в разработках ОС так и не было. Из-за отсутствия результатов инвесторов привлечь не удалось. Через время разработками заинтересовался Google. В 2005 году компания стала собственностью поискового гиганта.

После этого была основана корпорация Open Handset Alliance. В её состав вошли передовые изготовители мобильных устройств. В 2007 году была впервые представлена платформа Андроид. Как известно в её основе лежит ядро Linux. Первая версия данной операционной системы вышла в 2008 году.

Что это такое

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

Всё необходимое программное обеспечение можно скачать с Play Market. На данном сайте собранно более 700 тысяч программ. Широкий ассортимент позволит отыскать любое нужное приложение. С помощью операционной системы можно с легкостью получить доступ к интернету, смотреть видеофайлы, общаться в социальных сетях, слушать музыку, делать фотографии и тут же размещать их на своем аккаунте или читать электронные книги.

Стоит отметить, что ОС является совершенно бесплатной. Кроме того, она очень проста в использовании. Чтобы разобраться в интерфейсе не понадобится много времени. Благодаря всем своим достоинствам она стала самой распространенной в мире. За 2014 год было продано более 86% устройств, функционирующих на данной платформе.

Видео: телефон на Андроид

Применение ОС

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

Фото: Android 4.0 — это самая последняя мобильная версия

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

Пользоваться Андроидом не так и сложно как кажется. С её помощью на устройстве можно выполнять практически те же действия, что и на компьютере.

Система предусматривает несколько стандартных приложений. Среди них есть:

  • браузер;
  • электронная почта;
  • календарь;
  • голосовой поиск;
  • соцсети;
  • навигатор;
  • погода;
  • новости.

Все приложения от компании Гугл.

Еще одним приятным плюсом является возможность настраивать свой рабочий стол самостоятельно. Можно добавить на устройстве дополнительный экран, где можно разместить ярлыки или виджеты. Также можно установить любую понравившуюся тему или обои, тем самым видоизменить интерфейс.

Чем хороша

Данная ОС обладает рядом достоинств. Главными из них являются:


Этапы развития Android

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

В 2009 году было представлено пять обновленных версий:


2010 год ознаменовался выходом еще двух версий. Ими стали:


Следующей разработкой производителей стала платформа 3.0, которая была презентована в 2011 году. Новая ОС была специально предназначена для планшетов.


Данная система отличается от предыдущих:
  • улучшенным интерфейсом;
  • возможностью синхронизации ссылок с Гугл Хром;
  • поддержкой внешней клавиатуры;
  • теперь стало возможным изменять размер виджетов на экране;
  • работа на многоядерном процессоре.

Разработчики на этом не остановились и создали Андроид 4.0, который получил название «Ice Cream Sandwich». Эта платформа стала более универсальной. Она может использоваться как в телефоне, так и в планшете.

Фото: Андроид 4.0 «Ice Cream Sandwich»

В ОС присутствует масса новых функций и доработок:

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

На протяжении 2012 и 2013 годов производители трудились над разработкой ОС «Jelly Bean» .

Следующими версиями стали 4.1, 4.2, 4.3. Новые изменения, главным образом, коснулись быстроты работы интерфейса. Благодаря новым наработкам была увеличена производительность. Теперь параллельно работают графический процессор и центральный.

В обновленной версии платформы появились:


В конце 2013 была анонсирована еще одна версия Android 4.4 «Kitkat». Новая платформа была оптимизирована для работы на более дешевых устройствах, которые имеют оперативную память 512 МБ.

Здесь также присутствуют некоторые изменения:

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

Последней разработкой компании стала версия 5. Новая ОС имеет название «Lollipop». Главной изюминкой стал дизайн Material design, который отличается своей многофункциональностью.

Конкуренты

Главные конкуренты, с которыми платформе Android приходится бороться за пальму первенства это:

  • Apple iPhoneOS;
  • Microsoft Windows Mobile;
  • RIM BlackBerry OS;
  • Maemo/MeeGo;
  • Samsung Bada OS;
  • Palm webOS;
  • Symbian OS.

На сегодня Андроид стал наиболее распространенной мобильной платформой в мире, нежели iOS. Однако в скором времени планируется презентация новой ОС Ubuntu Phone. Возможно, она станет еще одним серьезным конкурентом Андроида.

Устройства на Андроид

В 2008 году было выпущено первое устройство, которое работало на базе Андроид. Девайс был разработан компанией HTC. Им стал смартфон под названием HTC Dream. После этого еще несколько производителей телефонов изъявили желание выпускать мобильные устройства с поддержкой этой операционной системы.

Вскоре был анонсирован планшет на платформе Android. В 2009 году на рынке появилась фоторамка, работающая на этой ОС. Кроме того, через 2 года организация Blue Sky разработала новые наручные часы, которые получили название i’m Watch. Они также поддерживают данную систему.

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

С таким темпами развития платформа Android станет абсолютным лидером среди остальных операционных систем, оставив всех конкурентов позади.

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

Тебя никогда не интересовало, как работают fastboot или ADB? Или почему смартфон под управлением Android практически невозможно превратить в кирпич? Или, может быть, ты давно хотел узнать, где кроется магия фреймворка Xposed и зачем нужны загрузочные скрипты /system/etc/init.d? А как насчет консоли восстановления (recovery)? Это часть Android или вещь в себе и почему для установки сторонней прошивки обычный рекавери не подходит? Ответы на все эти и многие другие вопросы ты найдешь в данной статье.

Как работает Android

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

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

Шаг первый. ABOOT и таблица разделов

Все начинается с первичного загрузчика. После включения питания система исполняет код загрузчика, записанного в постоянную память устройства. Затем он передает управление загрузчику aboot со встроенной поддержкой протокола fastboot, но производитель мобильного чипа или смартфона/планшета имеет право выбрать и любой другой загрузчик на его вкус. Например, компания Rockchip использует собственный, несовместимый с fastboot загрузчик, для перепрограммирования и управления которым приходится использовать проприетарные инструменты.

Протокол fastboot, в свою очередь, представляет собой систему управления загрузчиком с ПК, которая позволяет выполнять такие действия, как разлочка загрузчика, прошивка нового ядра и recovery, установка прошивки и многие другие. Смысл существования fastboot в том, чтобы иметь возможность восстановить смартфон в начальное состояние в ситуации, когда все остальные средства не работают. Fastboot останется на месте, даже если в результате экспериментов ты сотрешь со смартфона все разделы NAND-памяти, содержащие Android и recovery.

Получив управление, aboot проверяет таблицу разделов и передает управление ядру, прошитому в раздел с именем boot, после чего ядро извлекает в память RAM-образ из того же раздела и начинает загрузку либо Android, либо консоли восстановления. NAND-память в Android-устройствах поделена на шесть условно обязательных разделов:

  • boot - содержит ядро и RAM-диск, обычно имеет размер в районе 16 Мб;
  • recovery - консоль восстановления, состоит из ядра, набора консольных приложений и файла настроек, размер 16 Мб;
  • system - содержит Android, в современных девайсах имеет размер не менее 1 Гб;
  • cache - предназначен для хранения кешированных данных, также используется для сохранения прошивки в ходе OTA-обновления и поэтому имеет размер, сходный с размерами раздела system;
  • userdata - содержит настройки, приложения и данные пользователя, ему отводится все оставшееся пространство NAND-памяти;
  • misc - содержит флаг, определяющий, в каком режиме должна грузиться система: Android или recovery.
Кроме них, также могут существовать и другие разделы, однако общая разметка определяется еще на этапе проектирования смартфона и в случае aboot зашивается в код загрузчика. Это значит, что: 1) таблицу разделов нельзя убить, так как ее всегда можно восстановить с помощью команды fastboot oem format; 2) для изменения таблицы разделов придется разлочить и перепрошить загрузчик с новыми параметрами. Из этого правила, однако, бывают исключения. Например, загрузчик того же Rockchip хранит информацию о разделах в первом блоке NAND-памяти, так что для ее изменения перепрошивка загрузчика не нужна.

Часть кода загрузчика, определяющая таблицу разделов


Особенно интересен раздел misc. Существует предположение, что изначально он был создан для хранения различных настроек независимо от основной системы, но в данный момент используется только для одной цели: указать загрузчику, из какого раздела нужно грузить систему - boot или recovery. Эту возможность, в частности, использует приложение ROM Manager для автоматической перезагрузки системы в recovery с автоматической же установкой прошивки. На ее же основе построен механизм двойной загрузки Ubuntu Touch, которая прошивает загрузчик Ubuntu в recovery и позволяет управлять тем, какую систему грузить в следующий раз. Стер раздел misc - загружается Android, заполнил данными - загружается recovery… то есть Ubuntu Touch.

Шаг второй. Раздел boot

Если в разделе misc не стоит флаг загрузки в recovery, aboot передает управление коду, расположенному в разделе boot. Это не что иное, как ядро Linux; оно находится в начале раздела, а сразу за ним следует упакованный с помощью архиваторов cpio и gzip образ RAM-диска, содержащий необходимые для работы Android каталоги, систему инициализации init и другие инструменты. Никакой файловой системы на разделе boot нет, ядро и RAM-диск просто следуют друг за другом. Содержимое RAM-диска такое:

  • data - каталог для монтирования одноименного раздела;
  • dev - файлы устройств;
  • proc - сюда монтируется procfs;
  • res - набор изображений для charger (см. ниже);
  • sbin - набор подсобных утилит и демонов (adbd, например);
  • sys - сюда монтируется sysfs;
  • system - каталог для монтирования системного раздела;
  • charger - приложение для отображения процесса зарядки;
  • build.prop - системные настройки;
  • init - система инициализации;
  • init.rc - настройки системы инициализации;
  • ueventd.rc - настройки демона uventd, входящего в состав init.
Это, если можно так выразиться, скелет системы: набор каталогов для подключения файловых систем из разделов NAND-памяти и система инициализации, которая займется всей остальной работой по загрузке системы. Центральный элемент здесь - приложение init и его конфиг init.rc, о которых во всех подробностях я расскажу позже. А пока хочу обратить внимание на файлы charger и ueventd.rc, а также каталоги sbin, proc и sys.

Файл charger - это небольшое приложение, единственная задача которого - вывести на экран значок батареи. Он не имеет никакого отношения к Android и используется тогда, когда устройство подключается к заряднику в выключенном состоянии. В этом случае загрузки Android не происходит, а система просто загружает ядро, подключает RAM-диск и запускает charger. Последний выводит на экран иконку батареи, изображение которой во всех возможных состояниях хранится в обычных PNG-файлах внутри каталога res.

Файл ueventd.rc представляет собой конфиг, определяющий, какие файлы устройств в каталоге sys должны быть созданы на этапе загрузки системы. В основанных на ядре Linux системах доступ к железу осуществляется через специальные файлы внутри каталога dev, а за их создание в Android отвечает демон ueventd, являющийся частью init. В нормальной ситуации он работает в автоматическом режиме, принимая команды на создание файлов от ядра, но некоторые файлы необходимо создавать самостоятельно. Они перечислены в ueventd.rc.

Каталог sbin в стоковом Android обычно не содержит ничего, кроме adbd, то есть демона ADB, который отвечает за отладку системы с ПК. Он запускается на раннем этапе загрузки ОС и позволяет выявить возможные проблемы на этапе инициализации ОС. В кастомных прошивках в этом каталоге можно найти кучу других файлов, например mke2fs, которая может потребоваться, если разделы необходимо переформатировать в ext3/4. Также модеры часто помещают туда BusyBox, с помощью которого можно вызвать сотни Linux-команд.

Каталог proc для Linux стандартен, на следующих этапах загрузки init подключит к нему procfs, виртуальную файловую систему, которая предоставляет доступ к информации обо всех процессах системы. К каталогу sys система подключит sysfs, открывающую доступ к информации о железе и его настройкам. С помощью sysfs можно, например, отправить устройство в сон или изменить используемый алгоритм энергосбережения.

Файл build.prop предназначен для хранения низкоуровневых настроек Android. Позже система обнулит эти настройки и перезапишет их значениями из недоступного пока файла system/build.prop.


Корневой раздел ТВ-приставки OUYA


Шаг второй, альтернативный. Раздел recovery

В том случае, если флаг загрузки recovery в разделе misc установлен или пользователь включил смартфон с зажатой клавишей уменьшения громкости, aboot передаст управление коду, расположенному в начале раздела recovery. Как и раздел boot, он содержит ядро и RAM-диск, который распаковывается в память и становится корнем файловой системы. Однако содержимое RAM-диска здесь несколько другое.

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

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

С помощью скриптов, например, можно сделать так, чтобы после загрузки recovery автоматически нашел на карте памяти нужные прошивки, установил их и перезагрузился в Android. Эта возможность используется инструментами ROM Manager, auto-flasher, а также механизмом автоматического обновления CyanogenMod и других прошивок.

Кастомные рекавери также поддерживают скрипты бэкапа, располагающиеся в каталоге /system/addon.d/. Перед прошивкой recovery проверяет наличие скриптов и выполняет их перед тем, как произвести прошивку. Благодаря таким скриптам gapps не исчезают после установки новой версии прошивки.

Шаг третий. Инициализация

Итак, получив управление, ядро подключает RAM-диск и по окончании инициализации всех своих подсистем и драйверов запускает процесс init, с которого начинается инициализация Android. Как я уже говорил, у init есть конфигурационный файл init.rc, из которого процесс узнает о том, что конкретно он должен сделать, чтобы поднять систему. В современных смартфонах этот конфиг имеет внушительную длину в несколько сот строк и к тому же снабжен прицепом из нескольких дочерних конфигов, которые подключаются к основному с помощью директивы import. Тем не менее его формат достаточно простой и по сути представляет собой набор команд, разделенных на блоки.

Каждый блок определяет стадию загрузки или, выражаясь языком разработчиков Android, действие. Блоки отделены друг от друга директивой on, за которой следует имя действия, например on early-init или on post-fs. Блок команд будет выполнен только в том случае, если сработает одноименный триггер. По мере загрузки init будет по очереди активировать триггеры early-init, init, early-fs, fs, post-fs, early-boot и boot, запуская таким образом соответствующие блоки команд.


Часть конфига init.rc из CyanogenMod


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

Наиболее примечательный из дополнительных конфигов носит имя initrc.имя_устройства.rc, где имя устройства определяется автоматически на основе содержимого системной переменной ro.hardware. Это платформенно-зависимый конфигурационный файл, который содержит блоки команд, специфичные для конкретного устройства. Кроме команд, отвечающих за тюнинг ядра, он также содержит примерно такую команду:

Код:

Mount_all ./fstab.имя_устройства

Она означает, что теперь init должен подключить все файловые системы, перечисленные в файле./fstab.имя_устройства, который имеет следующую структуру:

Код:

Имя_устройства_(раздела) точка_монтирования файловая_система опции_фс прочие опции

Обычно в нем содержатся инструкции по подключению файловых систем из внутренних NAND-разделов к каталогам /system (ОС), /data (настройки приложений) и /cache (кешированные данные). Однако слегка изменив этот файл, мы можем заставить init загрузить систему с карты памяти. Для этого достаточно разбить карту памяти на три 4 раздела: 1 Гб / ext4, 2 Гб / ext4, 1 Гб / ext4 и оставшееся пространство fat32. Далее необходимо определить имена разделов карты памяти в каталоге /dev (для разных устройств они отличаются) и заменить ими оригинальные имена устройств в файле fstab.


Типичное содержимое файла fstab


В конце блока boot init, скорее всего, встретит команду class_start default, которая сообщит, что далее следует запустить все перечисленные в конфиге службы, имеющие отношение к классу default. Описание служб начинается с директивы service, за которой следует имя службы и команда, которая должна быть выполнена для ее запуска. В отличие от команд, перечисленных в блоках, службы должны работать все время, поэтому на протяжении всей жизни смартфона init будет висеть в фоне и следить за этим.

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

Шаг четвертый. Zygote и app_process

На определенном этапе загрузки init встретит в конце конфига примерно такой блок:

Код:

Service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zygote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart restart media onrestart restart netd

Это описание службы Zygote, ключевого компонента любой Android-системы, который ответственен за инициализацию, старт системных служб, запуск и остановку пользовательских приложений и многие другие задачи. Zygote запускается с помощью небольшого приложения /system/bin/app_process, что очень хорошо видно на приведенном выше куске конфига. Задача app_proccess - запустить виртуальную машину Dalvik, код которой располагается в разделяемой библиотеке /system/lib/libandroid_runtime.so, а затем поверх нее запустить Zygote.

Когда все это будет сделано и Zygote получит управление, он начинает формирование среды исполнения Java-приложений с помощью загрузки всех Java-классов фреймворка (сейчас их более 2000). Затем он запускает system_server, включающий в себя большинство высокоуровневых (написанных на Java) системных сервисов, в том числе Window Manager, Status Bar, Package Manager и, что самое важное, Activity Manager, который в будущем будет ответственен за получение сигналов о старте и завершении приложений.

После этого Zygote открывает сокет /dev/socket/zygote и уходит в сон, ожидая данные. В это время запущенный ранее Activity Manager посылает широковещательный интент Intent.CATEGORY_HOME, чтобы найти приложение, отвечающее за формирование рабочего стола, и отдает его имя Zygote через сокет. Последний, в свою очередь, форкается и запускает приложение поверх виртуальной машины. Вуаля, у нас на экране появляется рабочий стол, найденный Activity Manager и запущенный Zygote, и статусная строка, запущенная system_server в рамках службы Status Bar. После тапа по иконке рабочий стол пошлет интент с именем этого приложения, его примет Activity Manager и передаст команду на старт приложения демону Zygote

Все это может выглядеть несколько непонятно, но самое главное - запомнить три простые вещи:

  • Процесс запуска Android делится на две ключевые стадии: до Zygote и после. До старта Zygote система инициализирует низкоуровневые компоненты ОС. Это такие операции, как подключение (монтирование) файловых систем, запуск низкоуровневых служб (например rild, отвечающий за работу с GSM-модемом, SurfaceFlinger, управляющий тем, что изображено на экране, vold, управляющий подключенными файловыми системами). После запуска Zygote начинается инициализация исключительно Java-компонентов, которые составляют 80% операционной системы. Этим, в частности, пользуется известный фреймворк Xposed, который при установке подменяет app_process на собственную модифицированную версию, которая способна перехватывать вызовы любых Java-классов, подменяя их на любые другие. Именно поэтому у модулей Xposed такие широкие возможности по модификации внешнего вида и поведения Android. На самом деле они ничего не изменяют в системе, а просто заставляют ее использовать сторонние компоненты вместо своих.
  • Java-приложения никогда не запускаются «с нуля». Когда Zygote получает запрос на старт приложения от Activity Manager, он не запускает новую виртуальную машину, а просто форкается, то есть копирует самого себя и затем запускает поверх полученной копии виртуальной машины нужное приложение. Такой принцип работы позволяет, во-первых, свести расход памяти к минимуму, так как Linux при форке копирует память в режиме copy-on-write (новый процесс ссылается на память старого), а во-вторых, существенно ускорить запуск приложения: форк процесса происходит намного быстрее запуска новой виртуальной машины и загрузки нужных приложению Java-классов.
  • В Android повсеместно используются интенты. Для общения между собой компоненты Android никогда не применяют прямой вызов процедур и классов. Вместо этого используется система сообщений (интентов), которая, кроме высокого уровня безопасности, дает также множество других вкусностей, таких как, например, возможность вызвать приложение, ничего о нем не зная. Выше я уже писал, что для запуска рабочего стола системе достаточно послать интент Intent.CATEGORY_HOME, на который откликнется любое приложение, способное выполнять функцию лончера. Таким же образом работает кнопка «Поделиться», а также множество других компонентов системы.

Android – это одна из популярнейших и наиболее перспективных операционных систем для различных мобильных устройств. Система предлагает очень удобный инструментарий и максимальную гибкость настроек, что позволяет каждому пользователю смартфона или планшета на Андроиде настроить его полностью под свои нужды. Разработка данной операционной системы стартовала в далеком 2003-м году, но по-настоящему известной она стала лишь через 2 года – после приобретения компанией Google. Переломный момент в истории Android произошел осенью 2008-го года. Тогда компания Google продемонстрировала T-Mobile G1, ставший первым смартфоном под управлением Андроид. Именно в тот момент многие мировые производители обратили внимание на перспективную операционную систему.

(самая первая версия)

Основные возможности операционной системы Android

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


(Android 5.0)

Открытостью системы охотно пользуются и производители мобильной электроники, выпуская собственные пользовательские интерфейсы, к примеру, Sense от компании HTC. Это делает гаджеты на Андроиде от разных производителей непохожими друг на друга. Любителям классического и «чистого» Android следует обратить свое внимание на устройства Nexus. Именно они традиционно первыми получают обновления.

Сроки обновления других устройств обычно затягиваются ввиду необходимости доработки фирменных оболочек в соответствии с особенностями новых версий ОС.

Главным источником игр и приложений является Play Маркет. В каталогах данного магазина доступен огромный выбор бесплатного и платного контента, ассортимент которого активно расширяется. Качество «андроидных» игр и приложений постоянно растет. Периодически различные приложения выпускает и сам Google.

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

Желающим приобрести смартфон на Android необходимо помнить, что многие функции и программы ориентированы на работу с интернетом. При отсутствии доступа к Wi-Fi рекомендуется подключить выгодный тариф для интернет-пользователей или же отключить некоторые функции, требующие выхода в сеть.

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

На основании приведенной информации можно выделить ключевые преимущества и недостатки рассматриваемой операционной системы. Так, несомненными преимуществами Андроида является:
1. Открытость программного кода, что дает возможности для разработки практически любых приложений и игр.
2. Нетребовательность к «железу» устройства.
3. Огромный ассортимент приложений и увлекательных игр на любой вкус.
4. Полное соответствие современным представлениям о функционале смартфона.
5. Свобода действий для пользователя. При желании система и ее интерфейс с легкостью настраиваются под нужды владельца.
6. Популярность операционной системы среди подавляющего большинства современных производителей. Это позволяет пользователю с практически любым бюджетом купить функциональный и современный смартфон.

Есть и свои недостатки. Ключевыми являются:

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

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

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

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

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

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

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

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