Android

Historie

Operační systém Android byl vyvinut firmou Android. V srpnu 2005 byla společnost Android koupena společností Google. Ta vydala 5. listopadu 2007 ukázkovou verzi SDK Androidu, které obsahovalo vývojové prostředí, emulátor, debugger a ukázkové programy. Zároveň bylo založeno konsorcium Open Handset Alliance (OHA), které se skládalo z 34 zakládajících členů a postupně se přidávaly další a další společnosti. Cílem OHA je vytvářet a prosazovat standardy vývoje SW a HW pro mobilní zařízení. Dnes již téměř všichni výrobci mobilních telefonů spolupracují s OHA (výjimkou jsou Nokia a Apple).

Roku 2008 byla vydána první veřejně dostupná verze OS Android a 12. února 2008 první 3 prototypy zařízení (linux jádro, procesor ARM, několik základních aplikací: d-pad, zoom, atd. s dobrou odezvou).

Dne 23. září 2008 oficiálně představen Android 1.0 s vývojovým prostředím. U nás se jako první prodával telefon G1 od operátora T-Mobile dne 30. ledna 2009.

Všeobecná charakteristika

OS Android běží na Linux jádře verze 2.6. Ten zajišťuje správu paměti, procesorů, sítě, ovladače, přístup k senzorům, atd. Nad ním běží Android knihovny, spolupracující s Android runtime (samotné jádro bez těchto knihoven je vhodné pro stolní počítače). Vývojáři museli celý systém přizpůsobit na výkonnostně slabší HW, proto je i základní jazyk Android Dalvik VM 1 optimalizován na slabší HW. Jelikož Android nepodporuje odkládací prostor (tzv. SWAP), jsou procesy hlídány a aplikace varovány hrozícím kill(em) z nedostatku paměti.

Pro využití hlavního potenciálu aplikací Androidu (youtube, google browser, mapy, instant messaging) je nutností připojení na internet (-> nejlépe datový GPRS tarif). Připojování na internet sice lze vypnout pomocí aplikací na Android marketu, ovšem přímo v telefonu bohužel toto nastavení není.

Oficiální podporované prostředí je Eclipse (3.2 nebo novější), ale aplikace lze kompilovat i přes příkazovou řádku.

Root práva

Android API lze obejít a přistupovat přímo k Linuxu. Spouštění aplikací jako root vytváří bezpečnostní rizika -> větší opatrnost.

Rootnutí telefonu:
vytvoření SD GoldCard, díky níž lze nahrát jakákoli verze Androidu bez ověření
nahraje se starší verze Android, ve které byla chyba, která umožňovala root práva
nahrání nové, libovolné verze Androidu, root práva zůstanou

Existují také přímo Dev phone telefony pro vývojáře, které již root práva mají.

Složení Androidu

Aplikační framework
umožnuje snadné opakované využití komponent a jejich případnou výměnu.
Virtuální stroj Dalvik
je JAVA virtual machine optimalizovaná pro mobilní zařízení.
Integrovaný web prohlížeč
založený na opensource vykreslovacím jádře WebKit
Optimalizovaná grafika
součásti jsou obecné knihovny pro 2D grafiku (SDL), 3D grafiku (OpenGL ES 1.0) s možností hardwarové akcelerace
SQLite
databázový mini server pro uložení a zpracování strukturovaných dat
Podpora multimédií
obvyklých formátů audio, video a obrazu (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM telefonie
závislé na hardwarové podpoře (Android běží nejen na mobilních telefonech)
Bluetooth, EDGE, 3G, and WiFi
závislé na hardwarové podpoře
Plnohodnotné vývojové prostředí
emulátor zařízení, nástroje pro ladění, výkonostní a paměťové profilování, prostředí Eclipse pro vývoj android aplikací

Architektura systému android:

Android_system_architecture.jpg

Testy (Benchmarks)

Testovací zařízení

Jako testovací zařízení posloužil notebook Lenovo, 1.87GHz, 1GB RAM s OS Debian 2.6.26-21lenny4

Testovací hodnoty

Název Hodnota od Hodnota do Skok
Ackermanns Function 1 6 1
Array Access 100 3500 100
Fibonacci Numbers 1 35 1
Heapsort 1200 42000 1200
Matrix Multiplication 10 250 10
Nested Loops 1 20 1
Sieve Of Erathostenes 25 875 25
Statistical Moments 1000 35000 1000

Výsledky testů

Ackermanns Function
Array Access
Fibonacci Numbers
Heapsort
Matrix Multiplication
Nested Loops
Sieve Of Erathostenes
Statistical Moments

Screenshot aplikace

Celkový pohled na aplikaci

osmz1.png

Pohled na aplikaci v průběhu testu

osmz2.png
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License