Android   Android — операційна система і платформа для мобільних телефонів та планшетних комп'ютерів, створена компанією Google на базі ядра Linux. Підтримується альянсом Open Handset Alliance (OHA).

Хоча Android базується на ядрі Linux, він стоїть дещо осторонь Linux-спільноти та Linux-інфраструктури. Базовим елементом цієї операційної системи є реалізація Dalvik віртуальної машини Java, і все програмне забезпечення і застосування спираються на цю реалізацію Java.

Android, Inc. була заснована в Пало-Альто, у Каліфорнії, у жовтні 2003 року Енді Рубіном (Andy Rubin — співзасновник компанії Danger), Річардом Майнером (Rich Miner — співзасновник Wildfire Communications, Inc.), Ніком Сірсом (Nick Sears — колишній віце-президент компанії T-Mobile) і Крісом Уайтом (Chris White — очолював дизайн і розробку інтерфейсу в WebTV) для розробки, за словами Рубіна «більш розумних мобільних пристроїв, які краще знають про місце перебування власника і його вподобання». Ранні наміри компанії полягали в тому, щоб розробити вдосконалену операційну систему для цифрових фотоапаратів, але було зрозуміло, що ринок пристроїв не був достатньо великим, і вони спрямували свої зусилля на розробку операційної системи для смартфонів, щоб конкурувати з Symbian і Windows Mobile (на той момент Apple ще не випустила iPhone). Незважаючи на минулі досягнення засновників і ранніх співробітників, Android, Inc. працювала таємно, показуючи тільки те, що вона працювала над програмним забезпеченням для мобільних телефонів. У той же самий рік, Рубін залишився без грошей. Стів Перлман, близький друг Рубіна, приніс йому 10 тис. доларів готівкою у конверті та відмовився від своєї частки в компанії.

Google купує Android, Inc.

17 серпня 2005 року компанія Google купила Android, Inc. Усі засновники цієї стартап-компанії пішли працювати у Google. На той час, мало, що було відомо про Android, Inc., крім того що вони займаються розробкою ПЗ для мобільних телефонів. Такий розвиток подій спричинив до виникнення чуток, що Google планує увійти на ринок мобільних телефонів, але було не ясно, що саме планує там робити.

 

 

В Google, група, на чолі з Рубіном, розробила ОС на основі Linux'а (ядро v2.6), яку вони пропонували розробникам телефонів та операторам мобільного зв'язку, як гнучку та розширювану систему. Повідомлялось, що Google планує співпрацю з рядом розробників апаратних компонентів та програмного забезпечення, і є відкритим для співпраці з операторами мобільного зв'язку. В грудні 2006 року знову пішли чутки, що Google буде просуватися на ринок мобільних телефонів. Доповіді BBC і The Wall Street Journal зазначали, що Google хоче розмістити пошуковик Google і ПЗ Google на мобільних телефонах, і компанія кожен день важко працює для досягнення цієї мети.

Далі в пресі та online'вих ЗМІ почали з'являтися чутки, що Google розробляє телефон під власним брендом. За цими були інші, які стверджували, що Google визначила технічні характеристики та вже презентує прототипи розробникам телефонів та операторам мобільного зв'язку. Повідомлялося, що буде реалізовано приблизно 30 прототипів. Network World повідомляє, що Google-телефон дійсно є телефоном з відкритою операційною системою, на відміну від схожих продуктів, таких як iPhone. Проектом створення смартфона з використанням відкритого коду, в тому числі з використанням ядра Linux.

 

5 листопада 2007 року консорціум Open Handset Alliance, заявив про намір розробити відкриті стандарти для мобільних пристроїв. У той же день, в якості свого першого продукту було представлено платформу для мобільних телефонів на основі ОС Linux — Android.

Деякі основні учасники OHA:

ПЗ

Чіпи

Виробники телефонів

Провайдери зв'язку

Розробка

12 листопада 2007 OHA представила засоби для розробки ПЗ для Android'а (software development kit) для ознайомлення, яка включала засоби для розробки та відлагодження програм, бібліотеки, емулятор, документацію, приклади програм, навчальний посібник (tutorial), FAQs та інше[15]. Для розробки необхідно завантажити Android SDK для x86 платформ з Windows XP або Vista, Mac OS X 10.4.8 чи старшою, або Ubuntu Linux (Dapper Drake або старшу версію). Під іншими дистрибутивами Linux'а також повинно працювати, але напряму, така можливість, не підтримується. Також необхідно встановлений Eclipse 3.2 або старшу, з Java Development Tools та плагіном Android SDK, або Java і Javac 1.5 або 1.6, Apache Ant, та Python 2.2 або старший.

Версії

Детальніші відомості з цієї теми Ви можете знайти в статті Список версій Android.

Перша версія Android була випущена 23 вересня 2008 року і носила назву 1.0 Astroboy, а наступна — 1.1 Bender. Від назв у честь відомих роботів згодом довелося відмовитися через розбіжності з правовласниками. З 2008 року Android пережив численні оновлення, які поступово покращували операційну систему, додаючи нові функції, та виправляли помилки у попередніх випусках. І тепер кодове ім'я кожного великого релізу Android, починаючи з версії 1.5, являє собою назву якого-небудь десерту. Перші букви найменувань в порядку версій відповідають літерами латинського алфавіту (курсивом виділено майбутні і/або непідтверджені версії):

  • 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/4.3 Jelly Bean («желейні боби»),
  • 4.4 KitKat (на честь однойменного бренду шоколадних батончиків[16]; раніше планувалася назва Key Lime Pie),
  • 5.0 Lollipop («льодяник»),
  • Marshmallow («зефір»),
  • Nougat («нуга»).

Характеристики

Інструментарій

Платформа легко пристосовується для використання VGA, 2D графічних бібліотек, 3D графічних бібліотек розроблених на основі OpenGL ES 1.0 специфікації, традиційних інструментаріїв для смартфонів.

Бази даних

SQLite для структурованих даних

Технології зв'язку

Android підтримує багато технологій, що забезпечують зв'язок, у тому числі: GSM, Bluetooth, EDGE, 3G та WiFi.

Обмін повідомленнями

Для обміну повідомленнями доступні як SMS, так і MMS сервіси, у тому числі й потокові повідомлення.

Веб-браузери

На Android'і доступний веб-браузер, розроблений на основі WebKit application framework.

Java Virtual Machine

Програми написані на Java можна скомпілювати в Dalvik байткод і виконувати на Dalvik virtual machine, яка являє собою розроблену спеціально для використання на мобільних пристроях VM'у, не зважаючи на те, що не є стандартною Java Virtual Machine.

Підтримка медіа

Android підтримує такі формати для аудіо/відео даних та зображень: MPEG-4, H.264, MP3, та AAC, AMR, JPG, PNG, GIF.

Підтримка нестандартного обладнання

Android підтримує відеокамери, фотоапарати, дотикові екрани, GPS, компаси, акселерометри, та прискорювачі 3D графіки.

Середовище розробки

Містить емулятор, засоби відлагодження, профілювання пам'яті та швидкодії, плагін для Eclipse IDE. Також доступні плагіни для Intellij IDEA та NetBeans.

 

Сирцевий код

21 жовтня 2008 альянс OHA опублікував сирцевий код платформи Android. До релізу увійшов весь стек Android: і операційна система, і проміжне ПЗ (middleware), і основні кінцеві додатки, написані на Java. Загальний обсяг сирцевого коду Android склав 2,1 Гб.

«Найкращою ліцензією» на сирцевий код Android є Apache License 2.0

Українська локалізація Android

Починаючи з версії 1.6, Android має повноцінну офіційну українську локалізацію. Якщо на вашому смартфоні немає опції вибрати українську мову, тоді її можна легко додати, завантаживши з Google Play Apps крамниці додаток під назвою MoreLocale2

Критика

 Платформа базується на Java (спеціальна реалізація Dalvik), тому переваги і можливості операційної системи Linux на цій платформі практично не використовуються. Наприклад, не використовується жоден з популярних графічних тулкітів і бібліотек (наприклад Qt або GTK), що робить малоймовірною появу значної кількості додатків, портованих з повноцінного десктопного варіанту Linux на цю платформу через відсутність поза вибором X-сервера і поширених графічних бібліотек.

 З'явилася інформація про те, що Google на свій розсуд видалятиме додатки на телефонах користувачів, якщо порушуються умови їх використання.

 Неможливість встановлення прикладних програм на карту пам'яті. Недолік є істотним, якщо у телефоні невеликий обсяг вбудованої пам'яті (у T-Mobile G1 всього 70 МБ).(Починаючи з Android 2.2 така можливість з'явилась)

 Щоб користувачі телефонів мали доступ до Google Play та інших сервісів від Google, виробники цих телефонів мають укласти контракт з Google на використання відповідного пропрієтарного програмного забезпечення.

Розробка програмного забезпечення

Програми для Android є програмами в нестандартному байт-коді для віртуальної машини Dalvik.

Google пропонує для вільного завантаження інструментарій для розробки (Software Development Kit), який призначений для x86-машин під операційними системами Linux, Mac OS X (10.4.8 або вище), Windows XP, Windows Vista та Windows 7. Для розробки потрібен Java Development Kit 5 або новіший.

Розробку додатків для Android можна вести мовою Java (не нижче Java 1.5). Існує плагін для Eclipse — «Android Development Tools» (ADT), призначений для Eclipse версій 3.3-3.7. Для IntelliJ IDEA також існує плагін, який полегшує розробку Android-додатків. Для середовища розробки NetBeans розроблено плагін, який починаючи з версії Netbeans 7.0 перестав бути експериментальним, проте поки не є офіційним. Крім того існує Motodev Studio for Android, що являє собою комплексне середовище розробки, засноване на базі Eclipse і дозволяє працювати безпосередньо з Google SDK.

Крім того в 2009 році на додаток до ADT був опублікований Android Native Development Kit (NDK), пакет інструментаріїв і бібліотек дозволяє вести розробку додатків на мові С/С++. NDK рекомендується використовувати для розробки ділянок коду, критичних до швидкості.

Доступні бібліотеки:

В порівнянні із звичайними додатками Linux, додатки Android підкоряються додатковим правилам:

  • Content Providers — обмін даними між додатками;
  • Resource Manager — доступ до таких ресурсів, як файли XML, PNG, JPEG;
  • Notification Manager — доступ до рядка стану;
  • Activity Manager — управління активними додатками.

Для Android був розроблений формат інсталяційних пакетів .apk.