====== Android (Operační systém) ====== **Android** je mobilní operační systém založený na modifikovaném jádře **Linuxu** a dalším open-source softwaru. Je vyvíjen konsorciem **Open Handset Alliance**, které vede společnost **Google**. Android je navržen primárně pro dotyková mobilní zařízení, jako jsou chytré telefony a tablety, ale jeho modifikace najdeme i v televizích (Android TV), automobilech (Android Auto) či hodinkách (Wear OS). ---- ====== Architektura systému ====== Android využívá vrstvenou architekturu, která umožňuje oddělit hardware od aplikací. ===== 1. Jádro Linux (Linux Kernel) ===== Základní vrstva, která se stará o správu hardwaru (ovladače, paměť, procesy, napájení). Zajišťuje bezpečnostní rozhraní mezi hardwarem a vyššími vrstvami. ===== 2. Hardware Abstraction Layer (HAL) ===== Vrstva, která poskytuje standardní rozhraní pro výrobce hardwaru. Díky HAL může aplikační framework komunikovat s kamerou nebo Bluetooth bez ohledu na konkrétní model čipu. ===== 3. Android Runtime (ART) ===== Prostředí, ve kterém běží aplikace. Každá aplikace běží ve vlastním procesu a má vlastní instanci ART. Od verze 5.0 nahradil ART starší virtuální stroj **Dalvik**. Využívá kompilaci typu AOT (Ahead-of-Time) i JIT (Just-in-Time) pro vyšší výkon. ===== 4. Application Framework ===== Sada služeb a API, které vývojáři používají k tvorbě aplikací (např. správa oken, notifikace, správa kontaktů). ---- ====== Vývoj aplikací a jazyky ====== Aplikace pro Android jsou baleny do souborů s příponou **.apk** (starší) nebo **.aab** (Android App Bundle). * **Jazyky:** Primárními jazyky jsou **Java** a moderní **Kotlin** (který je od roku 2019 Googlem preferován). Pro nízkoúrovňový vývoj (např. hry) se používá C++ přes NDK (Native Development Kit). * **Google Play Services:** Uzavřená sada API od Googlu, která zajišťuje funkce jako Mapy, Push notifikace nebo platební systém Google Pay. ---- ====== Verze a kódová jména ====== Google vydává novou hlavní verzi Androidu přibližně jednou ročně. Historicky byly verze pojmenovávány podle sladkostí v abecedním pořadí: ^ Verze ^ Název ^ Hlavní novinky ^ | 4.4 | KitKat | Optimalizace pro slabší hardware. | | 5.0 | Lollipop | Představení Material Designu a ART. | | 8.0 | Oreo | Funkce Obraz v obraze, Project Treble (rychlejší aktualizace). | | 10 | Android 10 | Přechod na číselné označení, tmavý režim, ovládání gesty. | | 12 | Android 12 | Material You (dynamické barvy systému). | | 14/15 | Android 14/15 | Vylepšení soukromí, podpora satelitní komunikace. | ---- ====== Otevřenost vs. Uzavřenost ====== V ekosystému Android rozlišujeme dvě hlavní složky: * **AOSP (Android Open Source Project):** Základní kód systému, který je zdarma a pod open-source licencí. Kdokoli si jej může stáhnout a upravit (např. LineageOS). * **GMS (Google Mobile Services):** Uzavřená nadstavba od Googlu (Obchod Play, Gmail, YouTube). Výrobci musí splnit určité podmínky, aby mohli GMS do svých zařízení instalovat. ---- ====== Bezpečnostní mechanismy ====== * **Sandboxing:** Každá aplikace je izolována od ostatních. Nemůže číst data jiné aplikace bez výslovného povolení. * **Oprávnění (Permissions):** Od verze 6.0 uživatel schvaluje přístup k citlivým funkcím (mikrofon, poloha) až v momentě, kdy je aplikace vyžaduje. * **Google Play Protect:** Služba, která skenuje nainstalované aplikace a hledá malware. ---- //Související pojmy: Linux Kernel, Java, Kotlin, Open Source, Google Play, Smartphone.//