Android может быть основан на Linux, но он не основан на типе системы Linux, которую вы, возможно, использовали на своем ПК. Вы не можете запускать приложения Android в типичных дистрибутивах Linux и не можете запускать программы Linux, с которыми вы знакомы, на Android.
Linux составляет основную часть Android, но Google не добавил все типичное программное обеспечение и библиотеки, которые можно найти в дистрибутиве Linux, таком как Ubuntu. Это имеет все значение.
«Linux» против ядра Linux
СВЯЗАННЫЙ: «Linux» — это не просто Linux: 8 программ, составляющих системы Linux
Большая разница здесь сводится к тому, что мы подразумеваем под Linux. Люди используют термин «Linux» для обозначения множества разных вещей. По своей сути, Linux означает ядро Linux. Ядро является основной частью любой операционной системы.
Мы также называем дистрибутивы Linux просто «Linux». Однако дистрибутивы Linux — это не просто ядро Linux . Они содержат множество других программ, таких как утилиты оболочки GNU, графический сервер Xorg, рабочий стол GNOME, веб-браузер Firefox и так далее. Вот почему некоторые люди считают, что термин GNU / Linux следует использовать для «дистрибутивов Linux», таких как Ubuntu, Mint, Debian, Fedora, Arch, openSUSE и другие.
Android использует ядро Linux под капотом. Поскольку Linux имеет открытый исходный код , разработчики Google для Android могут модифицировать ядро Linux под свои нужды. Linux дает разработчикам Android готовое, уже поддерживаемое ядро операционной системы, чтобы им не пришлось писать свое собственное ядро. Именно так строятся многие разные устройства — например, PlayStation 4 использует ядро FreeBSD с открытым исходным кодом , а Xbox One использует ядро Windows NT, встречающееся в современных версиях Windows.
Вы даже увидите версию ядра Linux, работающую на вашем устройстве, в разделе «О телефоне» или «О планшете» в настройках Android.
Различия
СВЯЗАННЫЕ: Что такое Linux Distro и чем они отличаются друг от друга?
Есть некоторые споры о том, может ли Android квалифицироваться как « дистрибутив Linux ». Он использует ядро Linux и другое программное обеспечение, но он не включает в себя большую часть программного обеспечения, которое обычно включает дистрибутив Linux.
Когда вы загружаете устройство Android, ядро Linux загружается так же, как и в дистрибутиве Linux. Тем не менее, большая часть другого программного обеспечения отличается. Android не включает библиотеку GNU C (glibc), используемую в стандартных дистрибутивах Linux, а также не включает все библиотеки GNU, которые вы найдете в типичном дистрибутиве Linux. Он также не содержит X-сервер, такой как Xorg, поэтому вы не можете запускать стандартные графические приложения Linux.
Вместо того, чтобы запускать типичные приложения Linux, Android использует виртуальную машину Dalvik для запуска приложений, написанных на Java. Эти приложения предназначены для устройств Android и интерфейсов прикладного программирования (API), которые предоставляет Android, а не для Linux в целом.
Почему вы не можете запустить Desktop Linux Software на Android
СВЯЗАННЫЙ: Что такое Unix, и почему это важно?
Поскольку в Android нет графического X-сервера или всех стандартных библиотек GNU, вы не можете просто запускать приложения Linux на Android. Вы должны запускать приложения, написанные специально для Android.
У Android действительно есть оболочка, подобная той, что вы найдете в Linux. Там нет никакого способа получить к нему доступ из коробки, но вы можете установить приложение, такое как Android Terminal Emulator, чтобы получить доступ к этой среде терминала.
По умолчанию здесь мало что можно сделать. Терминал по-прежнему будет работать в ограниченной среде, поэтому вы не можете получить полноценную корневую оболочку без рутирования вашего Android-устройства. Многие стандартные команды, которые могут вам понадобиться, недоступны — поэтому люди, которые управляют своим устройством, обычно устанавливают приложение BusyBox, которое устанавливает много утилит командной строки. Эти утилиты используются приложениями для работы с правами root-доступа.
Почему вы не можете запустить программное обеспечение Android на настольном Linux
СВЯЗАННЫЕ: Как играть в игры для Android (и запускать приложения для Android) в Windows
В Linux нет виртуальной машины Dalvik, поэтому она не может запускать приложения для Android. Виртуальную машину Dalvik и все остальное программное обеспечение Android нельзя просто перенести на настольную машину Linux — вам придется проделать большую работу, чтобы приложения Android выводились в окно на стандартном рабочем столе, например, через Xorg. Теоретически, имея достаточно работы, разработчики могут заставить Dalvik работать на настольном Linux, чтобы пользователи настольного Linux могли запускать приложения Android на своих рабочих столах. Теперь бездействующий продукт Ubuntu для Android попытался сделать что-то подобное, интегрировав Ubuntu и Android в телефон и позволив этим приложениям Android работать на рабочем столе Ubuntu.
BlueStacks и другие эмуляторы приложений Android пытаются сделать это для Windows и Mac . Они запускают Android на виртуальном оборудовании на виртуальной машине, что позволяет им запускать приложения Android — со снижением производительности — на вашем рабочем столе. Однако эти решения не очень популярны.
Google Chrome OS также основана на Linux. Как и Android, Chrome OS не предоставляет стандартную систему X Window, поэтому стандартные приложения Linux не могут работать в Chrome OS. В отличие от Android, Chrome OS ближе к стандартным дистрибутивам Linux для настольных компьютеров, поэтому вы можете использовать режим разработчика для установки отсутствующего программного обеспечения для настольных компьютеров Linux .
Image Credit: ранти на Flickr , анатомии и физиологии Android