Android jest oparty na Linuksie, ale co to oznacza?

  • Chris Hoffman

    @chrisbhoffman

  • Updated July 12, 2017, 10:20pm EDT

android-linux

Android może być oparty na Linuksie, ale nie jest oparty na typie systemu Linux, którego mogłeś używać na swoim komputerze. Nie można uruchomić aplikacje Android na typowych dystrybucji Linuksa i nie można uruchomić programów Linux jesteś zaznajomiony z Android.

Linux składa się na rdzeń część Androida, ale Google nie dodał wszystkie typowe oprogramowanie i biblioteki można znaleźć na dystrybucji Linuksa jak Ubuntu. To robi różnicę.

„Linux” vs. The Linux Kernel

RELATED: „Linux” Isn’t Just Linux: 8 Pieces of Software That Make Up Linux Systems

Duża różnica tutaj sprowadza się do tego, co rozumiemy przez Linuksa. Ludzie używają terminu „Linux”, aby oznaczać wiele różnych rzeczy. W najbardziej podstawowym znaczeniu, Linux oznacza jądro Linuksa. Jądro jest podstawową częścią każdego systemu operacyjnego.

Reklama

Odnosimy się również do dystrybucji Linuksa jako po prostu „Linux”. Jednak dystrybucje Linuksa to nie tylko jądro Linuksa. Zawierają one wiele innych elementów oprogramowania, takich jak narzędzia powłoki GNU, serwer graficzny Xorg, pulpit GNOME, przeglądarkę Firefox i tak dalej. Dlatego niektórzy ludzie uważają, że termin GNU/Linux powinien być używany dla „dystrybucji Linuksa” takich jak Ubuntu, Mint, Debian, Fedora, Arch, openSUSE i innych.

Android używa jądra Linuksa pod maską. Ponieważ Linux jest open-source, Google Android deweloperzy mogą modyfikować jądro Linuksa, aby dopasować je do swoich potrzeb. Linux daje programistom Androida wstępnie zbudowany, już utrzymywane jądro systemu operacyjnego, aby rozpocząć z więc nie muszą pisać własne jądro. W ten sposób budowanych jest wiele różnych urządzeń – na przykład PlayStation 4 używa jądra FreeBSD o otwartym kodzie źródłowym, podczas gdy Xbox One używa jądra Windows NT znajdującego się w nowoczesnych wersjach Windows.

Widzisz nawet wersję jądra Linuksa działającą na twoim urządzeniu w sekcji O telefonie lub O tablecie w Ustawieniach Androida.

linux-kernel-version-on-android-about-screen

Różnice

RELATED: Co to jest Linux Distro, i jak różnią się od siebie?

Jest pewna debata na temat tego, czy Android kwalifikuje się jako „dystrybucja Linuksa”. Używa on jądra Linuksa i innego oprogramowania, ale nie zawiera dużej części oprogramowania, które zwykle zawierają dystrybucje Linuksa.

Reklama

Gdy uruchamiasz urządzenie z Androidem, jądro Linuksa ładuje się tak samo jak w dystrybucji Linuksa. Jednak wiele z pozostałego oprogramowania jest inne. Android nie zawiera biblioteki GNU C (glibc) używanej w standardowych dystrybucjach Linuksa, ani nie zawiera wszystkich bibliotek GNU, które można znaleźć w typowej dystrybucji Linuksa. Nie zawiera również serwera X jak Xorg, więc nie można uruchomić standardowych graficznych aplikacji Linuksa.

Raczej niż uruchamianie typowych aplikacji Linuksa, Android używa maszyny wirtualnej Dalvik, aby zasadniczo uruchamiać aplikacje napisane w Javie. Aplikacje te są ukierunkowane na urządzenia z Androidem i interfejsy programowania aplikacji (API) Androida, a nie są ukierunkowane na Linuksa w ogóle.

android-architecture

Dlaczego nie można uruchomić oprogramowania desktopowego Linuksa na Androidzie

Powiązane: What Is Unix, and Why Does It Matter?

Ponieważ Android nie zawiera graficznego serwera X ani wszystkich standardowych bibliotek GNU, nie możecie po prostu uruchamiać aplikacji linuksowych na Androidzie. Musicie uruchamiać aplikacje napisane specjalnie dla Androida.

Android nie posiada powłoki jak ta, którą znajdziecie w Linuksie. Nie ma sposobu, aby uzyskać dostęp do niego out-of-the-box, ale można zainstalować aplikację jak Android Terminal Emulator, aby uzyskać dostęp do tego środowiska terminala.

Reklama

Domyślnie, nie ma wiele można zrobić tutaj. Terminal będzie nadal działać w ograniczonym środowisku, więc nie można uzyskać pełną powłokę roota bez rootowania urządzenia z systemem Android. Wiele standardowych poleceń, których możesz potrzebować, nie jest dostępnych – dlatego ludzie, którzy rootują swoje urządzenia, zazwyczaj instalują aplikację BusyBox, która instaluje wiele narzędzi wiersza poleceń. Te narzędzia są używane przez aplikacje do robienia rzeczy z ich dostępem roota.

android-terminal-emulator-uname

Dlaczego nie można uruchomić oprogramowania Androida na Linuksie

POWIĄZANE: How to Play Android Games (and Run Android Apps) on Windows

Linux nie zawiera maszyny wirtualnej Dalvik, więc nie może uruchamiać aplikacji Androida. Wirtualna maszyna Dalvik i całe inne oprogramowanie Androida nie może być po prostu wrzucone na desktopową maszynę Linuksa – musiałbyś wykonać więcej pracy, aby aplikacje Androida wychodziły do okna na standardowym pulpicie poprzez Xorg, na przykład. Teoretycznie, przy odpowiedniej ilości pracy, deweloperzy mogliby sprawić, że Dalvik działałby na desktopowym Linuksie, dzięki czemu użytkownicy desktopowego Linuksa mogliby uruchamiać aplikacje Androida na swoich desktopach. Obecnie uśpiony Ubuntu dla Androida produkt próbował zrobić coś takiego, integrując Ubuntu i Android na telefonie i pozwalając tych aplikacji Android do uruchomienia na pulpicie Ubuntu.

BlueStacks i inne emulatory aplikacji Android próbują to zrobić dla Windows i Mac. Uruchamiają one Androida na wirtualnym sprzęcie w maszynie wirtualnej, pozwalając im na uruchamianie aplikacji Androida – z karą za wydajność – na pulpicie. Te rozwiązania nie okazały się jednak zbyt popularne.

apk-on-desktop-linux

System operacyjny Chrome OS firmy Google jest również oparty na systemie Linux. Podobnie jak Android, Chrome OS nie udostępnia standardowego systemu okienkowego X, więc standardowe aplikacje linuksowe nie mogą działać na Chrome OS. W przeciwieństwie do Androida, Chrome OS jest bliżej standardowych dystrybucji Linuksa, więc można użyć trybu deweloperskiego, aby zainstalować brakujące oprogramowanie pulpitu Linux.

Reklama

Image Credit: ranti na Flickr, Anatomy and Physiology of Android

Chris Hoffman
Chris Hoffman jest redaktorem naczelnym How-To Geek. Pisze o technologii od ponad dekady i przez dwa lata był felietonistą PCWorld. Chris pisał dla The New York Times, udzielał wywiadów jako ekspert technologiczny w stacjach telewizyjnych takich jak NBC 6 w Miami, a jego prace były relacjonowane przez takie stacje jak BBC. Od 2011 roku Chris napisał ponad 2,000 artykułów, które zostały przeczytane prawie miliard razy–i to tylko tutaj, w How-To Geek.Read Full Bio ”

Leave a Reply

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.