Android — операционная система для коммуникаторов, планшетных компьютеров, цифровых проигрывателей, цифровых фоторамок, наручных часов, нетбуков и смартбуков, основанная на ядре Linux. Изначально разрабатывалась компанией Android Inc., которую затем купила Google. Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA), который сейчас и занимается поддержкой и дальнейшим развитием платформы. Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit создаёт приложения, написанные на Си и других языках.
История обновлений
С момента выхода первой версии в сентябре 2008 года произошло несколько обновлений системы. Эти обновления, как правило, касаются исправления обнаруженных ошибок и добавления нового функционала в систему. Каждая версия системы получает собственное кодовое имя на тему десерта. Кодовые имена присваиваются в алфавитном порядке. На настоящий момент выпущено 10 версий системы и ещё одна находится в разработке. Последняя версия — 4.0 «Ice Cream Sandwich» (англ. «Сэндвич из мороженого»).
Устройства
HTC Dream (T-Mobile G1) — первый смартфон на основе Android
Первым устройством, работающим под управлением Android, стал разработанный компанией HTC смартфон T-Mobile G1, презентация которого состоялась 23 сентября 2008 года. Вскоре последовали многочисленные заявления других производителей смартфонов о намерении выпустить устройства с Android. Кроме того, энтузиасты портировали Android на ряд известных устройств, среди которых, например, интернет-планшет Nokia N810, смартфоны HTC Touch, HTC TyTN II и фоторамка. Также Android портирован на архитектуру x86. Отдельного упоминания достойна инициатива компании Koolu, которая занялась не только портированием Android на Neo FreeRunner, но и строит свой бизнес на продаже этих OpenSource-смартфонов с предустановленной мобильной платформой Google. Первый официальный и общедоступный бета-релиз порта Android на Neo FreeRunner от Koolu состоялся во второй половине декабря 2008 года.
В июне 2011 года итальянская компания Blue Sky анонсировала выпуск интеллектуальных наручных часов i’mWatch под управлением Android.
Альтернативные прошивки, разрабатываемые открытым сообществом
Существует сообщество энтузиастов, разрабатывающее полностью open-source варианты Android-прошивок. CyanogenMod, MIUI и VillainROM — известные примеры данных прошивок.
Рабочий стол Android 1.5 в эмуляторе:
Модифицированные версии Android’a (называемая также «прошивка», или «кастомная прошивка») создаются для:
- удаления из Android-устройства сервисов Google (например, таких, как синхронизация данных) — для обеспечения локализации данных пользователя только на Android-устройстве — исключения возможности передачи идентификационной информации (IMEI, номера телефона, GPS-координат и т. д.) на серверы Google;
- более оперативного и частого (по сравнению с производителями самих аппаратов) предоставления новых версий Android OS. Нередки случаи, когда производитель прекращает поддержку модели, которая показалась им устаревшей или нерентабельной, и пользователям, желающим увидеть новые функции, приходится обращаться именно к работам энтузиастов;
- дополнения Android-прошивки новыми настройками и функциями. Такими, как поддержка FLAC Lossless Audio, возможность хранения загруженных приложений на MicroSD карте (для версий Android до 2.2) и т. д.
Для перепрошивки Android-устройства необходимо получение root-доступа (процесс получения называется «rooting»), что даёт больший контроль над системой и над приложениями, установленными по умолчанию. Для получения root-доступа разблокировка загрузчика не нужна (разблокированный «bootloader» позволяет загружать две и более ОС на устройстве). Модифицированные прошивки позволяют пользователям старых телефонов использовать приложения, доступные только для более новых релизов, повышают стабильность, скорость работы и зачастую избавляют от багов производителей. Некоторые производители Android-устройств аппаратно блокируют возможность перепрошивки (например, HTC, Sony Ericsson), некоторые аппаратно не блокируют (но тем не менее сохраняют трудности по перепрошивке). Разработчиками (например, альтернативной прошивки CyanogenMod) была решена и эта задача, создающая разногласия по поводу того, что может делать с аппаратом владелец, а чего не имеет права, без учёта того, был или не был куплен им телефон. А некоторые производители (Sony Ericsson в некоторых моделях аппаратов, HTC в своих будущих моделях) делают всё чтобы продвинутый пользователь мог не только установить другую прошивку, но и самостоятельно создать свою (предоставляется детальная инструкции по замене прошивок, программное обеспечение, документация по архитектуре программной платформы, код оригинальной прошивки и т. д.). Риск, связанный с возможной поломкой телефона в процессе разблокирования, перекладывается на пользователя, который в случае разблокирования загрузчика соглашается с условиями, указывающими на досрочную потерю гарантии на телефон (для восстановления гарантии необходимо снова установить официальным флэшером официальную прошивку).
В конфликте интересов двух сторон (производителей самих телефонов (также Google) и пользователей) прослеживается следующая мотивация:
- производители хотят устанавливать на телефоны «рекламные» приложения, которые невозможно удалить без рутинга.
- Google хочет собрать максимально много информации о пользователе: не только такие персональные данные, как адреса эл. почты (при пользовании почтой), истории посещений сайтов, и т. д.; но и перемещения (GPS-координаты, или при выключенном GPS-приёмнике местоположение аппарата по сигналам сотовых вышек) пользователя в реальном времени, что привело к судебному разбирательству.
- производители не стремятся оперативно обновлять операционную систему и спустя пол года прекращают поддержку продукта, тем самым вынуждая покупателей пользоваться всё новыми и новыми моделями телефонов. 24 сентября 2009 года Google обратилась к разработчикам CyanogenMod с письмом, требующим удаления из альтернативной прошивки частей системы и приложений с закрытым исходным кодом (такими как «Маркет», GPS навигация, «Карты» и т. д.). В результате из Android-версии CyanogenMod были удалены «закрытые» приложения, и в процессе установки CyanogenMod пользователь имеет возможность доустановить пакет программ от Google или доустановить альтернативные варианты «закрытых» программ (альтернативный вариант «Карты» и т. д.), что разрешило спор и предоставило возможность пользователям быть или не быть свободными от Google-приложений.
Разработка программного обеспечения.
Приложения для Android являются программами в нестандартном байт-коде для виртуальной машины Dalvik. Google предлагает для свободного скачивания инструментарий для разработки (Software Development Kit), который предназначен для x32-машин под операционными системами Linux, Mac OS X (10.4.8 или выше), Windows XP и Windows Vista. Для разработки требуется JDK 5 или более новый. Разработку приложений для Android можно вести на языке Java (не ниже Java 1.5). Существует плагин для Eclipse — «Android Development Tools» (ADT), предназначенный для Eclipse версий 3.3-3.6. Для IntelliJ IDEA также существует плагин, облегчающий разработку Android-приложений.[13]. Для среды разработки NetBeans IDE разработан плагин, который начиная с версии Netbeans 7.0 перестал быть экспериментальным, тем не менее пока не является официальным. Кроме того существует Motodev Studio for Android, которая представляет собой комплексную среду разработки, основанную на базе Eclipse и позволяет работать непосредственно с Google SDK. Кроме того в 2009 году в дополнение к ADT был опубликован Android Native Development Kit (NDK), пакет инструментариев и библиотек позволяющий вести разработку приложений на языке С/С++. NDK рекомендуется использовать для разработки участков кода критичных к скорости.
Доступные библиотеки:
- Bionic (библиотека стандартных функций, несовместимая с libc);
- libc (стандартная системная библиотека языка Си);
- мультимедийные библиотеки (на базе PacketVideo OpenCORE; поддерживают такие форматы, как MPEG4, H.264, MP3, AAC, AMR, JPG и PNG);
- SGL (движок двухмерной графики);
- OpenGL ES 1.0 (движок трехмерной графики);
- Surface Manager (обеспечивает для приложений доступ к 2D/3D);
- WebKit (готовый движок для Web-браузера; обрабатывает HTML, JavaScript);
- FreeType (движок обработки шрифтов);
- SQLite (легковесная СУБД, доступная для всех приложений);
- SSL (протокол, обеспечивающий безопасную передачу данных по сети).
По сравнению с обычными приложениями Linux, приложения Android подчиняются дополнительным правилам:
- Content Providers — обмен данными между приложениями;
- Resource Manager — доступ к таким ресурсам, как файлы XML, PNG, JPEG;
- Notification Manager — доступ к строке состояния;
- Activity Manager — управление активными приложениями.
Для Android был разработан формат установочных пакетов .apk.
Android Developer Challenge
В ноябре 2007 года компания Google объявила конкурс «Android Developer Challenge» с призовым фондом 10 млн долларов США.
Задача для участников — создать своё любимое приложение для мобильных телефонов. Принимаются программы любого типа, однако приветствуется инновационность и, конечно, полезность разрабатываемых приложений.
Среди областей, с которых можно начинать разработку приложений для конкурса Android, выделены такие, как социальные сети, работа с информацией различного типа (например, фотографиями), email/IM/календарь, игры, новости, переосмысление традиционных пользовательских интерфейсов.
Мероприятия конкурса ADC проходили в 2008 году и закончились награждением 50 финалистов крупными денежными призами (25-275 тыс. долл.). 27 мая 2009 года был объявлен новый конкурс ADC2 с призовым фондом в 2 млн долл. (главный приз — 250 тыс. долл.). Подача приложений на конкурс продолжалась с 24 августа по 31 августа 2009 года. С 24 сентября по 6 октября в рамках первого раунда ADC2 пользователи путём голосования отбирали приложения для участия во втором раунде. 5 ноября был опубликован список из 200 лучших приложений (по 20 приложений в каждой из 10 категорий), попавших во второй раунд, и началось голосование пользователей за эти приложения. 24 ноября голосование во втором раунде было закрыто, начал работу специальный комитет судей-экспертов, которые с учётом мнения пользователей отбирали лучшие приложения. 30 ноября был опубликован список победителей конкурса
Исходный код
21 октября 2008 года альянс OHA опубликовал исходный код платформы Android.[27] В релиз вошёл весь стек Android: и операционная система, и промежуточное ПО (middleware), и основные конечные приложения, написанные на Java. Общий объём исходного кода Android составил 2,1 Гб. В настоящее время Google придерживает предоставление широкого доступа к новой версии мобильной операционной системе Android 3.1. Разработчики компании заявляют, что такие ограничения связаны с тем, что пока система проходит этап доработки, чтобы в будущем сделать ОС полностью готовой для устройств определенных типов. «Предпочтительной лицензией» на исходный код Android является Apache License 2.0. 15 ноября 2011 года Google открыла исходный код ОС Android 4.0
Заявления о нарушении прав интеллектуальной собственности
Oracle Corporation обвинила Google в нарушении прав интеллектуальной собственности на Java и направила соответствующий иск в суд. Подобные претензии к компании Google предъявили юристы компании Brown Rudnick LLP, обвинив разработчиков в том, что они нарушают лицензию GPL v.2 своей библиотекой Bionic. Данное заявление вызвало неоднозначную реакцию в прессе, при этом, ряд экспертов пришли к предварительному выводу, что обвинения, возможно, преждевременны.
Android на чужих устройствах
Попытки установить ОС Android на разнообразные устройства происходят давно, примером удачного портирования может служить смартфон HTC HD2, на котором ОС Android можно запускать как с microSD-карты, так и с внутренней NAND-памяти. При этом установленная система имеет полную, ничем особо не ограниченную функциональность. Помимо этого есть удачный опыт установки Android на устройства iPhone и iPad с помощью специальной программы под названием openiboot, которая предназначена для запуска на данных устройствах разнообразных ОС, в том числе и Android.
Критика
Некоторые обозреватели отмечают, что Android проявляет себя лучше одной из своих конкуренток, Apple iOS, в ряде особенностей, таких как: веб-сёрфинг, интеграция с сервисами Google Inc. и прочих. Android, в отличие от iOS является открытой платформой, что позволяет реализовать на ней больше функций сторонними разработчиками (например, функцию «чёрный список» на телефоне, что нельзя сделать на iOS). Платформа основана на виртуальной машине Dalvik, поэтому преимущества и возможности операционной системы Linux на данной платформе практически не используются. Например, не используется ни один из популярных графических тулкитов и библиотек (таких как Qtили GTK), что делает маловероятным появление большого числа приложений, портированных с полноценного десктопного варианта Linux на данную платформу из-за отсутствия по умолчанию X-сервера и распространённых графических библиотек. В версии Android 1.6 разработчики добавили Native Development Kit, который позволяет писать собственные низкоуровневые модули для системы на языке C/С++, опираясь на стандартные linux-библиотеки. Хотя, например, стандартная библиотека языка Си на платформе Android, известная как Bionic, как раз не является стандартной и полностью совместимой с libc. Появилась информация о том, что Google будет по своему усмотрению удалять приложения на телефонах пользователей, если нарушаются условия их использования. Для доступа к Android Market и другим сервисам от Google необходимо использовать проприетарные приложения, которые производитель телефона имеет право устанавливать на телефон только после заключения контракта с Google. Конкуренты Android выступили с критикой платформы, обвиняя её в чрезмерной фрагментации, создающей препятствия разработчикам. Google опровергла все обвинения, заявив, что никаких подобных проблем нет, но, тем не менее, выпустила средство для преодоления проблем фрагментации. Подвергается критике решение Google не размещать в широком доступе код Android 3.0 Honeycomb, доступный только для участников Open Handset Alliance или по индивидуальному запросу после подписания соглашения. Googlе мотивирует это неготовностью платформы и мерой предупреждения небрежной её реализации. Ричард Столлман заявлял, что «всё просто и ясно: за исключением ядра Linux, Android 3 представляет собой несвободный софт» и «несмотря на то что телефоны с Android на сегодняшний день не так плохи, как смартфоны Apple или Windows, нельзя сказать, что они уважают вашу свободу». По словам Google, закрытый код Android 3 — временная мера. Однако исходники Android 2 полностью открыты, как и кодAndroid 4.0.
Награды
Издание PC Magazine присвоило операционной системе Android 4.0 Ice Cream Sandwich награду «Выбор редакции», отметив, что новая версия ОС привнесла платформе множество улучшений, в том числе устранив различия между смартфонной и планшетной системами.
Материал из Википедии — свободной энциклопедии
