Domovská » jak » Android je založen na Linuxu, ale co to znamená?

    Android je založen na Linuxu, ale co to znamená?

    Android může být založen na systému Linux, ale není založen na typu systému Linux, který jste použili v počítači. V typických linuxových distribucích nelze spustit aplikace pro Android a nemůžete spustit programy Linux, které jste v Androidu obeznámeni.

    Linux tvoří hlavní část Androidu, ale společnost Google nepřidala veškerý typický software a knihovny, které byste našli v distribuci Linuxu, jako je Ubuntu. To všechno dělá.

    "Linux" versus Linuxové jádro

    Velký rozdíl zde spočívá v tom, co máme na mysli Linux. Lidé používají termín "Linux", aby znamenali mnoho různých věcí. Na svém nejzákladnějším místě je Linux jádro Linuxu. Jádro je jádrem každého operačního systému.

    Odkazy na linuxové distribuce také označujeme jako "Linux". Distribuce Linuxu však nejsou jen jádrem Linuxu. Obsahují mnoho dalších softwarových nástrojů, jako jsou nástroje GNU shell, grafický server Xorg, desktop GNOME, webový prohlížeč Firefox a podobně. To je důvod, proč někteří lidé myslí, že termín GNU / Linux by měl být použit pro "Linuxové distribuce" jako Ubuntu, Mint, Debian, Fedora, Arch, openSUSE a další.

    Android používá jádro Linuxu pod kapotou. Vzhledem k tomu, že Linux je otevřený zdroj, mohou vývojáři Androidu společnosti Google upravit jádro Linuxu podle svých potřeb. Linux poskytuje vývojářům Android předem připravené, již udržované jádro operačního systému, které začíná tak, že nemusí psát vlastní jádro. Takto je postaveno mnoho různých zařízení - například PlayStation 4 využívá jádro FreeBSD s otevřeným zdrojovým kódem, zatímco Xbox One používá jádro systému Windows NT v moderních verzích systému Windows.

    Dokonce i verzi Linuxového jádra běžícího ve vašem zařízení se zobrazí v části Nastavení telefonu nebo O tabletu v Nastavení systému Android.

    Rozdíly

    Existuje nějaká debata o tom, zda se Android kvalifikuje jako "distribuce Linuxu". Používá jádro Linuxu a další software, ale nezahrnuje mnoho softwaru Distribuce Linuxu obvykle zahrnují.

    Když zavedete zařízení Android, linuxové jádro se načte stejně jako v distribuci Linuxu. Většina jiného softwaru je však odlišná. Android neobsahuje knihovnu GNU C (glibc), která se používá na standardních distribucích Linuxu, ani neobsahuje všechny knihovny GNU, které najdete na typické distribuci Linuxu. Také nezahrnuje server X, jako je Xorg, takže nelze spustit běžné grafické aplikace Linux.

    Spíše než běžící běžné aplikace Linuxu, Android používá virtuální stroj Dalvik, aby v podstatě spouštěl aplikace napsané v Javě. Tyto aplikace jsou zaměřeny na zařízení Android a aplikační programovací rozhraní (API) Android poskytuje spíše než cílení na Linux obecně.

    Proč nemůžete spustit program Desktop Linux v systému Android

    Vzhledem k tomu, že Android neobsahuje grafický server X ani všechny standardní knihovny GNU, nemůžete jednoduše spustit aplikace Linux v systému Android. Musíte spouštět aplikace napsané speciálně pro Android.

    Android má shell, jako ten, který najdete na Linuxu. Neexistuje žádný způsob, jak se k němu dostat ven, ale můžete nainstalovat aplikaci jako Emulátor Terminálu Android, abyste získali přístup k tomuto terminálovému prostředí.

    Ve výchozím nastavení zde není moc, co byste mohli udělat. Terminál bude stále spuštěn v prostředí s omezeným přístupem, takže nemůžete získat úplný kořenový shell bez zakořenění zařízení Android. Mnoho standardních příkazů, které budete potřebovat, není k dispozici - proto lidé, kteří kořenují své zařízení, obvykle instalují aplikaci BusyBox, která instaluje mnoho nástrojů příkazového řádku. Tyto nástroje jsou aplikací využívány k tomu, aby mohly dělat věci s jejich kořenovým přístupem.

    Proč nelze spustit software Android na platformě Linux

    Linux neobsahuje virtuální stroj Dalvik, takže nemůže používat aplikace s Androidem. Virtuální stroj Dalvik a veškerý další software Androidu nelze jednoduše přenést na desktopový stroj Linux - budete muset dělat více práce, aby aplikace Android vyšly do okna na standardní pracovní ploše například prostřednictvím Xorgu. Teoreticky, s dostatkem práce, by vývojáři mohli Dalvika spustit na stolním Linuxu, takže uživatelé stolních Linuxů by mohli používat aplikace Android na svých počítačích. Právě spící produkt Ubuntu pro Android se pokoušel udělat něco takového, integrující Ubuntu a Android do telefonu a umožňující těmto aplikacím Android běžet na desktopu Ubuntu.

    Moduly BlueStacks a další emulátory aplikací pro Android se o to pokoušejí pro Windows a Mac. Spouštějí systém Android na virtuálním stroji ve virtuálním stroji a umožňují jim, aby na ploše spustili aplikace s Androidem - s trestem výkonu. Tato řešení se však velmi neprokázala.


    Google Chrome OS je také založen na Linuxu. Stejně jako Android, Chrome OS neposkytuje standardní systém Windows X, takže běžné aplikace Linuxu nelze spustit v systému Chrome OS. Na rozdíl od systému Android je Chrome OS bližší standardním distribucím desktopových distribucí Linux, takže můžete použít režim vývojářů k instalaci chybějícího desktopového softwaru pro Linux.

    Image Credit: ranti na Flickr, anatomii a fyziologii Androidu