android-linux

Android можа быць заснаваны на Linux, але ён не заснаваны на тыпе сістэмы Linux, якую вы маглі б выкарыстоўваць на сваім ПК. Вы не можаце запускаць прыкладанні для Android на звычайных дыстрыбутывах Linux і не можаце запускаць знаёмыя з праграмамі Linux на Android.

Linux складае асноўную частку Android, але Google не дадаў усё тыповае праграмнае забеспячэнне і бібліятэкі, якія можна знайсці ў дыстрыбутыве Linux, як Ubuntu. Гэта робіць усё розніца.

"Linux" супраць Linux Kernel

Звязаныя: "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 з'яўляецца адкрытым зыходным кодам, распрацоўшчыкі Android для Google могуць змяніць ядро ​​Linux у адпаведнасці з іх патрэбамі. Linux дае распрацоўшчыкам Android папярэдне пабудаванае ядро ​​аперацыйнай сістэмы, каб пачаць з таго, каб ім не трэба пісаць сваё ядро. Так пабудавана мноства розных прылад - напрыклад, PlayStation 4 выкарыстоўвае ядро ​​FreeBSD з адкрытым зыходным кодам, а Xbox One выкарыстоўвае ядро ​​Windows NT, якое можна знайсці ў сучасных версіях Windows.

Вы нават ўбачыце версію ядра Linux, якая працуе на вашай прыладзе ў раздзеле "Аб тэлефоне" або "Аб планшэце" у наладах Android.

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

Адрозненні

Звязаныя: Што такое 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 забяспечваюць Android, а не ў цэлым.

Android-архітэктура

Чаму вы не можаце запусціць Desktop Linux Software на Android

Звязаныя: Што такое Unix і чаму гэта важна?

Паколькі Android не ўключае ў сябе графічны сервер X альбо ўсе стандартныя бібліятэкі GNU, вы не можаце проста запусціць прыкладання Linux на Android. Вам трэба запусціць прыкладанні, напісаныя спецыяльна для Android.

У Android ёсць абалонка, падобная да той, якую вы знойдзеце ў Linux. Няма магчымасці атрымаць доступ да яго нестандартна, але вы можаце ўсталяваць прыкладанне, падобнае на Android Terminal Emulator, каб атрымаць доступ да гэтай тэрмінальнай асяроддзя.

Па змаўчанні тут зрабіць не так шмат. Тэрмінал па-ранейшаму будзе працаваць у абмежаванай абстаноўцы, так што вы не можаце атрымаць поўную каранёвую абалонку, не ўкараніўшыся на прыладзе Android. Шмат стандартных каманд, якія могуць вам спатрэбіцца, недаступныя - таму людзі, якія выкараняюць свае прылады, звычайна ўсталёўваюць прыкладанне BusyBox, якое ўсталёўвае шмат утылітаў каманднага радка. Гэтыя ўтыліты выкарыстоўваюцца прыкладаннямі, каб рабіць рэчы з іх каранёвым доступам.

андроіда-тэрмінал-эмулятар-унаме

Чаму вы не можаце запусціць праграмнае забеспячэнне Android на Desktop 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 - са штрафам за прадукцыйнасць - на працоўным стале. Але гэтыя рашэнні не вельмі папулярныя.

apk-on-desktop-linux

Chrome OS Google таксама заснаваны на Linux. Як і Android, Chrome OS не забяспечвае стандартную аконную сістэму X, таму стандартныя прыкладанні Linux не могуць працаваць у Chrome OS. У адрозненне ад Android, Chrome OS набліжаецца да звычайных настольных дыстрыбутываў Linux, так што вы можаце выкарыстоўваць рэжым распрацоўшчыка, каб усталяваць адсутнічае праграмнае забеспячэнне Linux.

Image Credit: ranti на Flickr, Anatomy and Physiology of Android