Android — основанная на Linux платформа для мобильных телефонов, разрабатываемая Open Handset Alliance (OHA), инициированным Google. Она позволяет создавать Java приложения, управляющие устройством через разработанные Google библиотеки. Так же есть возможность писать приложения на C и других языках программирования с помощью Android Native Development Kit.
Устройства
Первым устройством, работающим под управлением Android, стал разработанный компанией HTC смартфон T-Mobile G1, презентация которого состоялась 23 сентября 2008 года. Вскоре последовали многочисленные анонсы других производителей смартфонов о намерении выпустить устройства с Android.
Кроме того, энтузиасты портировали Android на ряд известных устройств, среди которых, например, интернет-планшет Nokia N810 и смартфон HTC Touch. Также известны случаи успешного портирования на компьютеры архитектуры x86.
Отдельного упоминания достойна инициатива компании Koolu, которая занялась не только портированием Android на Neo FreeRunner, но и строит свой бизнес на продаже этих OpenSource-смартфонов с предустановленной мобильной платформой Google. Первый официальный и общедоступный бета-релиз порта Android на Neo FreeRunner от Koolu состоялся во второй половине декабря 2008 года.
*
Выпущенные
o HTC Dream (T-Mobile G1)
o HTC Magic
o Samsung i7500
o Highscreen PP5420
o HTC Hero
o General Mobile DSTL 1
o HTC Tattoo
*
Готовятся к выпуску
o LG GW620 (Etna)
o Motorola Cliq
o HTC Fiesta
o HTC Lancaster
o Samsung Spica
o Samsung Bigfoot
o Yuhua Xphone-SDK
o Motorola Touch ZINE HD
o SIM Technology U1
o Lenovo i60 и i60s
o Guangzhou Skytone Transmission Technologies Alpha 680 — первый нетбук
o Neo FreeRunner GTA02
o HTC Touch HD 2
o Sony Ericsson XPERIA X10
*
Отложены
o Kogan Agora и Agora Pro
*
Установки ОС на других устройствах
o Телефоны Openmoko — Neo FreeRunner и Neo 1973
o Motorola A1200 Ming
o HTC Vogue
o Nokia N810
o Nokia n770
o Asus EeePC 701 и 1000H
Разработка программного обеспечения
Приложения для Android являются программами в нестандартном байт-коде для виртуальной машины Dalvik.
Google предлагает для свободного скачивания инструментарий для разработки (Software Development Kit), который предназначен для x86-машин под операционными системами Windows XP либо Windows Vista, Mac OS X 10.4.8 или выше, а также Linux. Для разработки требуется JDK 5 либо JDK 6.
Разработку приложений для Android можно вести на языке Java (Java v1.5). Существует плагин для Eclipse — «Android Development Tools» (ADT), предназначенный для Eclipse версий 3.3 и 3.4. Для IntelliJ IDEA также существует плагин, облегчающий разработку Android-приложений.
Доступные библиотеки:
* Bionic — библиотека стандартных функций, несовместимая с libc
* SSL — шифрование
* Media Framework (PacketVideo OpenCORE™, MPEG4, H.264, MP3, AAC, AMR, JPG, PNG)
* Surface Manager
* LibWebCore (на базе WebKit)
* SGL — 2D-графика
* OpenGL ES — 3D-библиотека
* FreeType — шрифты
* SQLite — легковесная СУБД
По сравнению с обычными приложениями Linux, приложения Android подчиняются дополнительным правилам:
* Content Providers — обмен данными между приложениями;
* Resource Manager — доступ к таким ресурсам, как файлы XML, PNG, JPEG;
* Notification Manager — доступ к строке состояния;
* Activity Manager — управление активными приложениями.
Android Developer Challenge
В ноябре 2007 года компания Google объявила конкурс «Android Developer Challenge» с призовым фондом 10 млн долларов США.
Задача для участников — создать своё любимое приложение для мобильных телефонов. Принимаются программы любого типа, однако приветствуется инновационность и, конечно, полезность разрабатываемых приложений.
Среди областей, с которых можно начинать разработку приложений для конкурса Android, выделены такие, как социальные сети, работа с информацией различного типа (например, фотографиями), email/IM/календарь, игры, новости, переосмысление традиционных пользовательских интерфейсов.
Мероприятия конкурса ADC проходили в 2008 году и закончились награждением 50 финалистов крупными денежными призами (от $25 000 до $275 000).
В мае 2009 был объявлен новый конкурс ADC2 с призовым фондом в $2 000 000 (главный приз — $250 000). Регистрация участников откроется в начале августа и продлится примерно две недели. Правила участия можно узнать на странице code.google.com
Android Market
22 октября 2008 Google объявила об открытии онлайн-магазина приложений для Android — Android Market; разработчики получат 70 % прибыли, операторы сотовой связи — 30%
В середине февраля 2009 года для разработчиков из США и Великобритании появилась возможность брать плату за свои приложения в Android Market.
На данный момент на Android Market распространять программы бесплатно могут резиденты следующих стран:
* Австралия
* Австрия
* Бельгия
* Болгария
* Канада
* Чехия
* Дания
* Франция
* Германия
* Греция
* Гонг Конг
* Ирландия
* Италия
* Япония
* Нидерланды
* Норвегия
* Польша
* Португалия
* Сингапур
* Испания
* Швеция
* Швейцария
* Тайвань
* Великобритания
* США
Разработчики следующих стран могут распространять программы и брать за это деньги:
* Австрия
* Франция
* Германия
* Италия
* Япония
* Нидерланды
* Испания
* Великобритания
* США
Исходный код
21 октября 2008 года альянс OHA опубликовал исходный код платформы Android. В релиз вошёл весь стек Android: и операционная система, и промежуточное ПО (middleware), и основные конечные приложения, написанные на Java. Общий объём исходного кода Android составил 2,1 Гб.
«Предпочтительной лицензией» на исходный код Android является Apache License 2.0.
Исходный код платформы Android доступен на source.android.com
Критика
* Платформа базируется на Java, поэтому преимущества и возможности операционной системы Linux на данной платформе практически не используются. Например, не используется ни один из популярных графических тулкитов и библиотек (например Qt или GTK), что делает маловероятным появление большого числа приложений, портированных с полноценного десктопного варианта Linux на данную платформу из-за отсутствия по умолчанию X-сервера и распространённых графических библиотек.
* Появилась информация о том, что Google будет по своему усмотрению удалять приложения на телефонах пользователей, если нарушаются условия их использования.
* Невозможность установки приложений на карту памяти. Недостаток является существенным, если у телефона небольшой объём встроенной памяти (у T-Mobile G1 всего 70 МБ). Однако существуют прошивки от энтузиастов, в которых установка на SD карту возможна, например, JFv1.5
Начиная с версии Android 2.2 предусмотрена установка/перенос приложений на внешнюю карту памяти.