linuxon安卓
A. linux和安卓具體是存在什麼關系
Android一種基於Linux的自由及開放源代碼的操作系統。Linux操作系統的內核,安卓則是基於Linux內核開發的操作系統,安卓在Linux的基礎上提供了驅動以及用戶編程介面。
操作系統管理計算機硬體與軟體資源的計算機程序,同時也是計算機系統的內核與基石。操作系統需要處理如管理與配置內存、決定系統資源供需的優先次序、控制輸入設備與輸出設備、操作網路與管理文件系統等基本事務。操作系統也提供一個讓用戶與系統交互的操作界面。
Android以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 Userspace,使得Linux driver 與 Linux kernel徹底分開。
Bionic/Libc/Kernel/ 並非標準的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所產生的,這樣做是為了保留常數、數據結構與宏。
(1)linuxon安卓擴展閱讀
APK安卓應用的後綴,是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。
apk文件和sis一樣,把android sdk編譯的工程打包成一個安裝程序文件,格式為apk。 APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執行程序,並非java ME的位元組碼而是Dalvik位元組碼。
Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接執行安裝,和Windows Mobile中的PE文件有區別;
這樣做對於程序的保密性和可靠性不是很高,通過dexmp命令可以反編譯,但這樣做符合發展規律,微軟的 Windows Gadgets或者說WPF也採用了這種構架方式。
在Android平台中dalvik vm的執行文件被打包為apk格式,最終運行時載入器會解壓然後獲取編譯後androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發現執行是不受限制的。
最終平時安裝的文件可能不是這個文件夾,而在android rom中系統的apk文件默認會放入這個文件夾,它們擁有著root許可權。
B. linux系統 和安卓有什麼區別
一、主體不同
1、linux系統:是一套免費使用和自由傳播的類UNIX操作系統。
2、安卓:是一種基於Linux的自由及開放源代碼的操作系統。
二、架構不同
1、linux系統:主要受到Minix和Unix思想的啟發,是一個基於POSIX和Unix的多用戶、多任務、支持多線程和多CPU的操作系統。能運行主要的Unix工具軟體、應用程序和網路協議。
2、安卓:Android的系統架構和其操作系統一樣,採用了分層的架構。Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。
三、特點不同
1、linux系統:繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。Linux有上百種不同的發行版,如基於社區開發的debian、archlinux。
2、安卓:會同一系列核心應用程序包一起發布,該應用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯系人管理程序等。所有的應用程序都是使用JAVA語言編寫的。
C. 安卓和Linux是什麼關系安卓能運行Linux軟體為什麼說安卓是虛擬機環境虛擬機有什麼特點優
安卓一開始是使用的linux系統內核。linux操作系統內核,套上殼,加一些應用軟體,就是操作系統了。linux系統是用c語言寫的,被廣泛地移植到各種機器上。
虛擬機,就是一個虛擬的計算機硬體系統,有虛擬的CPU、指令集。運行時,將虛擬指令翻譯成實體機器指令執行。JAVA語言就是運行的在虛擬機上的。使用虛擬機的好處,就是二進制代碼可以在任何實體機器上運行,真正跨平台;缺點是翻譯執行,效率比較低。
linux系統可以安裝在任何計算機、手機上面,移植比較簡單。但是應用軟體有限。
D. 如何在linux上搭建安卓開發環境
微信是手機上的。linux是電腦桌面系統,微信設計的初衷就是為手機和平板服務的,linux版的微信,騰訊不會開發這樣的程序,不符合它的初衷。微信有安卓版的。而安卓是基於linux的,是否可以間接地說這就是linux版本的呢?
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用搭巧戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性拆枝賀能穩定的多用戶網路操作系統。
Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。
嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程旅派各種工具和資料庫的操作系統。
E. LinuxonAndroid出現如下提示 ERROR: ld.so: object '/syste
Shuaji刷機
F. 安卓與Linux有什麼關系
安卓與Linux有什麼關系
按照是Linux核心但是借用了java虛擬機器技術,並組織編制的一個類Java作業系統。。。區別Linux的就是庫和使用者介面都是用的java技術。。。而Linux的桌面和api則是他們自身程式設計形成的。。。
Android是一種基於Linux的自由及開放原始碼的作業系統,主要使用於移動裝置,如智慧手機和平板電腦,由Google公司和開放手機聯盟領導及開發。
Android 是運行於Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支援的功能,Android 大都沒有支援,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程式移到 Userspace,使得Linux driver 與 Linux kernel徹底分開。Bionic/Libc/Kernel/ 並非標準的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所產生的,這樣做是為了保留常數、資料結構與巨集。
Android 的 Linux kernel控制包括安全(Security),儲存器管理(Memory Management),程式管理(Process Management),網路堆疊(Neork Stack),驅動程式模型(Driver Model)等。下載Android原始碼之前,先要安裝其構建工具 Repo來初始化原始碼。Repo 是 Android 用來輔助Git工作的一個工具。
Linux和安卓有什麼關系?
Linux與Androld的關系
雖然Android基於Linux核心,但是它與Linux之間還是有很大的差別,比如Android在Linux核心的基礎上添加了自己所特有的驅動程式。下面我們就來分析一下它們之間究竟有什麼千絲萬縷關系?
1 安卓為什麼會選擇Linux
成熟的作業系統有很多,比如Unix系統。但是Android為什麼選擇採用Linux核心呢?這就與Linux的一些特性有關了,比如:
(1)強大的記憶體管理和程序管理方案
(2)基於許可權的安全模式
(3)支援共享庫
(4)經過認證的驅動模型
(5)Linux本身就是開源專案
更多關於上述特性的資訊可以參考Linux 2.6版核心的官方文件,這便於我們在後面的學習中更好地理解Android所特有的功能特性。接下來分析Android與Linux真正的關系。
2Android不是Linu×
看到這個標題大家可能會有些迷惑,前面不是一直說Android是基於Linux核心的嗎,怎麼現在又不是Linux了?迷惑也是正常的,請先看下面幾個要點,然後我們將對每一個要點進
行分析,看完後你就會覺得Android不是Linux了。
①它沒有本地視窗系統
(1)它沒有glibc的支援
(2)它並不包括一整套標準的Linux使用程式
(3)它增強了Linux以支援其特有的驅動
1、它沒有本地視窗系統
什麼是本地視窗系統呢?本地視窗系統是指GNU/Linux上的X視窗系統,或者Mac OS的Quartz等。不同的作業系統的視窗系統可能不一樣,Android並沒有使用(也不需要使用)Linux的X視窗系統,這是Android不是Linux的一個基本原因。
2、它沒有glibc支援
由於Android最初用於一些便攜的移動裝置上,所以,可能出於效率等方面的考慮,Android並沒有採用glibc作為C庫,而是Google自己開發了一套Bionic Libc來代替glibc。
3、它並不包括一整套標準的Linux使用程式
Android並沒有完全照搬Linux系統的核心,除了修正部分Linux的Bug之外,還增加了不少內容,比如:它基於ARM構架增加的Gold-Fish平台,以及yaffs2 FLASH檔案系統等。
4、Android專有的驅動程式
除了上面這些不同點之外,Android還對Linux裝置驅動進行了增強,主要如下所示。
(1) Android Binder基於OpenBinder框架的一個驅動,用於提供Android平台的程序間通訊( InterProcess Communication,IPC)功能。原始碼位於
drivers/staging/android/binder.c。
(2) Android電源管理(PM) 一個基於標准Linux電源管理系統的輕量級Android電源管理驅動,針對嵌入式裝置做了很多優化。源伐碼位於:
Ⅰ kerneUpower/earlysuspend.c
Ⅱ kernel/power/consoleearlysuspend.c
Ⅲ kernel/power/fbearlysuspend.c
Ⅳ kemel/power/wakelock.c
Ⅴ kernel/power/userwakelock.c
(3)低記憶體管理器(Low Memory Killer) 比Linux的標準的OOM(Out Of Memory)機制更加靈活,它可以根據需要殺死程序以釋放需要的記憶體。原始碼位於
drivers/staging/android/lowmemorykiller.c.
(4)匿名共享記憶體(Ashmem) 為程序間提供大塊共享記憶體,同時為核心提供回收和管理這個記憶體的機制。原始碼位於mm/ashmem.c。
(5) Android PMEM (Physical) PMEM用於向用戶空間提供連續的實體記憶體區域,DSP和某些裝置只能工作在連續的實體記憶體上。原始碼位於drivers/misc/pmem.c。
(6) Android Logger -個輕量級的日誌裝置,用於抓取Android系統的各種日誌。原始碼位於drivers/staging/android/logger.c。
(7) Android Alarm捉供了一個定時器,用於把裝置從睡眠狀態喚醒,同時它還提供了一個即使在裝置睡眠時也會執行的時鍾基準。原始碼位於drivers/rtc/alarm.c。
(8) USB Gadget驅動一個基於標准Linux USB gadget驅動框架的裝置驅動,Android的USB驅動是基於gaeget框架的。原始碼位於drivers/u *** /gadget/。
(9) Android Ram Console為了提供除錯功能,Android允許將除錯日誌資訊寫入一個被稱為RAM Console的裝置里,它是一個基於RAM的Buffer。原始碼位於drivers/staging/android/ramL console.c。
(10) Android timed device提供了對裝置進行定時控制的功能,目前支援vibrator和LED裝置。原始碼位於drivers/staging/android /timed_output.c(timed_gpio.c)。
(11) Yaffs2檔案系統Android採用Yaffs2作為MTD nand flash檔案系統,原始碼位於fs/yaffs2/目錄下。Yaffs2是一個快速穩定的應用於NAND和NOR Flash的跨平台的嵌入式裝置檔案系統,同其他Flash檔案系統相比,Yaffs2能使用更小的記憶體來儲存其執行狀態,因此它佔用記憶體小。Yaffs2的垃圾回收非常簡單而且快速,因此能表現出更好的效能。Yaffs2在大容量的NAND Flash上的效能表現尤為突出,非常適合大容量的Flash儲存。上面這些要點足以說明Android不是Linux。
Linux與Androld的關系
雖然Android基於Linux核心,但是它與Linux之間還是有很大的差別,比如Android在Linux核心的基礎上添加了自己所特有的驅動程式。
Ubuntu與Linux有什麼關系
正如ls所說,linux有許多發行版本,比如redhat,debian,suse等。所以說debian是linux的一個發行版本,而ubuntu是debian的一個衍生版本。
Android System WebView與安卓7.0之間有什麼關系
1.主題面板管理器
在CM等一眾第三方系統中,早已支援便捷地修改桌布、圖示和系統顏色。在商店和論壇中,也能找到不少優質的面板主題。
而當我們提到原生Android,似乎總是長著一張固定的臉。實際上,在Google自家的AOSP(即Android開源專案)中,早已內建了主題管理。
而在Android M 的開發者預覽版中,也加入了主題管理器(可惜被需要Root和特定方式才能啟用)。既然系統內的面板主題框架早已搭建好,那就只等Google在Android系統中放出啦。
2.應用程式抽屜的消失
在2月26日,Google Map的官方Twitter釋出了一條介紹視訊,其中的展示機Nexus 6P的系統介面中,似乎看不到底部的應用抽屜按鈕了。發現問題的同學也開始集體留言質問:『WHERE IS THE APP DRAWER?!?!』
而在之前也確實有傳聞爆料:在新版Android N 中,或許會將應用抽屜的設計去除,選擇採用iOS和MIUI的應用呈現方式,即全部在桌面首頁中展示。
去除二級選單的做法,會帶來更加凌亂的桌面,還是更有效率的操作體驗?似乎很難定論,但作為Android玩家,大可選擇Nova啟動器等優秀的第三方桌面,而不必擔心我卓葯丸。
3.夜間模式會許要來了
在Android M 的開發者預覽版中,Dark Mode夜間模式曾短暫地出現過,而在正式版中又被砍去。
而最新的Android N 泄露圖中,黑色背景的右圖也表示著:夜間模式回歸Android了。
而更加值得期待的是,Google已經放出了夜間模式的開發程式碼,開發者可以輕松地為自己的應用設定『暗色主題』。也許今後只需輕按『夜間模式』的按鈕,從系統到各個應用,都能直接更換成夜間模式。
這一改變,不僅對於越來越多AMOLED螢幕手機而言,是省電的好方法。對於經常深夜玩手機的同學來說,似乎也可以和刺眼的白光說再見了。
4.分屏多工以及平板支援
在LG和三星都推出了『分屏模式』後,Google在Android N 中加入分屏功能也是眾望所歸了。同樣的,在上一個版本Android M 中,分屏模式也被隱藏起來,需要特定方式才能啟用。
不負眾望,來自Google的Pixel C 團隊在接受Reddit AMA論壇訪談時,確認了『split screen is in the works』。
而分屏多工,似乎在Android平板上也更加適用。值得一提的是,該團隊也宣稱Android系統的平板,在Android N 中將會更加好用,而不僅僅是將應用介面拉升就夠了。
但對於Chrome OS的聯動猜想、DPI切換和和介面的調整,似乎只能等Google I/O那
天,才知道答案。
5.支援觸控筆
在三星公布的文件中,我們發現三星在Android N 中,採用了系統自帶的觸控筆介面,而不再使用原先的S PEN專屬介面。
而在Android 5.0 (開始支援節電助手)之前,三星關閉了自家的節電模式介面。在Android 6.0 (開始支援指紋識別)之前,又關閉了自家的指紋識別介面。而在Android 7.0公布之前,三星又再一次關閉了自家的觸控筆介面,這……
6.更好的Doze省電模式
Doze省電模式首次出現在Android M 中,其省電原理是在裝置休眠時,關閉關閉應用後台,以達到省電的效果。
在親身體驗後,Doze模式確實發揮了很好的效果,起碼待機的時候不掉電了。但在目前這一功能,在操作體驗和使用者自定義方面,卻有些過於簡單了。
所以直到今天Android 6.0,我依然選擇綠色守護等第三方應用,去實現控制後台應用耗電的問題。但Root終歸有風險,而Android N 也有理由提供一個更好用的Doze省電模式。
7.重新設計的通知欄
在設計上,似乎能探尋的蛛絲馬跡,則是一張Android N 的通知欄模擬圖,國外媒體Android Police在看到開發樣機圖後,大致模擬出的新版介面截圖。
根據爆料,左圖通知欄目前已開始嘗試承載更多的資訊量,長按後即可檢視通知詳情。而在右圖顯示的快速設定頁面,將快捷按鈕鋪滿並支援分頁,而不像之前只支援固定數量的快捷按鈕。
8.更多玩法的指紋識別
隨著Nexus 5X和Nexus 6P的釋出,Google終於開始為Android提供指紋的支援。在Android 6.0中,關於指紋的介面也正在逐步完善。
在目前看來,似乎指紋最常用也僅限於Play Store和鎖屏應用中。期待在Android N 中,能通過指紋解鎖完成更多的事情,在iOS的Touch ID上,有許多值得借鑒的場景。也許之後Androidi使用者能通過指紋,便捷地檢視Google相簿中的隱私圖片,或者直接解鎖啟動私人應用。
9.為虛擬現實助力
我們知道,Google正嘗試著於打造一款,不需要額外硬體的頭戴式VR裝置。
而反觀目前市面上大部分VR產品,軟體部分的開發似乎都與Android系統多少有些聯絡,也許Google自家的VR裝置也需要Android的支援。
所以我們有理由相信,Google會為新版本的Android系統,在VR方向上提供更多系統層面的支援。
10.Now on Tap
Now on Tap作為Android M 的重磅功能,在去年收獲了業界好評。大致功能則是基於不同情景而直接提供對應資訊,通過識別你正在執行的app中的內容,提供針對性的建議和資料。
比如在網上聊天時,當聊到某部電影時,只需上滑Home鍵,關於電影的所有資訊就能直接呈現。
而在Android N 中,我們期待它能發揮更大用處。畢竟Now on Tap中『上下文感知』和『基於情景』都是是人類智慧的重要能力。
也許之後當我們開啟相機,它就能為你找尋鏡頭中包含的關鍵資訊。而不僅限於設定日歷提醒,或者幫你搜索維基網路那麼簡單。
綜上所述的大部分內容,都是我們作為Android老粉絲的期待和猜想。所有一切都要等到Google I/O 2016才會揭曉。
但不得不說的是,雖然在AppSo年度精選的Android榜中,絕大部分應用都採用了Material Design,但是直到今天,這一設計風格在動效和互動上,依然缺少一個完美的榜樣。
我們不會期待Android N 完全改頭換面,帶來全新的介面,但在圖示、按鈕、互動動畫和介面設計上,我們期待Google能做得更好。
Java和安卓有什麼關系
安卓就是Java寫的
C語言與安卓開發有什麼關系。
安卓的底層使用的是C語言開發的
所以會使用到C語言
另外安卓在嵌入式控制系統中
使用軟體控制嵌入式系統的時候會使用到NDK技術
這裡面也會使用到C語言開發
java和c 和安卓有什麼關系
它們都是計算機語言,c語言稱為底層架構與其他兩個語言沒多大關系,但是學了c後掌握java就很快啦。java是安卓的基礎,安卓是基於java平台來編寫的。
G. 為什麼沒人玩linux on android
資源少,系統不太穩定所以沒人玩
H. 安卓上面的linuxonandroid,進入系統後,用戶密碼和root密碼分別是什麼
你好,我也是碰到廳掘這個問題的小白,折騰了一下就搞也來了。
在終端輸入橡伏螞 passwd root
會提示你修改root密碼的,自己設置一個就可以了梁埋。
注意,是啟動系統的那個終端。
用戶ubuntu的密碼是第一次進去的時候自己設置的,
VNC的密碼是ubuntu.
I. linux on android項目的鏡像怎樣用x伺服器連接
使用方法:
1啟動 Android SDK Manager ,打開主界面,依次選擇『Tools』、『Options...』,彈出『Android SDK Manager - Settings』窗口;
2在『Android SDK Manager - Settings』窗口中,在『HTTP Proxy Server」和「HTTP Proxy Port』輸入框內填入上面鏡像服務芹褲器地址(不包含http://,如下圖)和埠,並且選中『Force https://... sources to be fetched using http://...』復選框嫌悉簡。
3設置完成後單擊『Close』按鈕關閉『Android SDK Manager - Settings』窗口返回到主界面;
依次選擇『Packages』、陸喊『Reload』。
J. 如何在安卓手機或平板設備上運行Linux系統
首先,關於linux,我們需要知道兩個知識點,一個在linux系統下,我們可以將一個文件掛載為一個分區,也就是說如果我有一個磁碟鏡像文件,我可以直接掛載為一個linux的分區;這一點與windows的虛擬光碟機有點類似,但是在linux下,不僅是光碟鏡像文件,所有的鏡像文件都可以掛載為一個linux的分區;第二個知識點就是chroot,可能看到這個你就明白了本文講的方法是如何從安卓設備運行linux系統的,如果還不明白的話,請繼續往下看。chroot 就是Change Root,也就是改變程序執行時所參考的根目錄位置。有了這兩個知識就簡單了。
方法:首先啟動安卓系統,然後將linux的系統鏡像文件掛載為安卓系統的一個分區(所以設備必須支持Loop設備),然後通過chroot命令切換程序執行時所參考的根目錄即可。這樣我們就可以使用系統鏡像文件里的操作系統了。
需要用到的幾個軟體:BusyBox Pro,Complete Linux Installer(內含終端模擬器 VNC安卓客戶端和Linux鏡像下載鏈接),適合於Arm的Ubuntu鏡像。這幾個軟體都可以從Google Play里下載到,其中BusyBox Pro是收費應用,網上應該也有免費的下載,可以搜一下。另外Complete Linux Installer也帶有BusyBox如果不想下載那個收費的,用這里帶的或許也可以,但是可能會報告一個錯誤。
軟體安卓好之後,將Ubuntu鏡像放到SD卡里,最好是Class 10的高速卡,不然可能會稍微卡一點,但是不會非常卡,因為大多數的操作還是依賴於安卓系統構建的系統的了,這跟直接將系統鏡像寫入SD卡並從SD卡啟動不同。這個鏡像文件需要放到SD卡的一個文件夾下,注意一定不能使中文。然後打開Complete LinuxInstaller,裡面有一個啟動操作系統,右上角會有一個菜單編輯,名稱任意,路徑當然就要選擇我們的鏡像所致的路徑了,保存並返回。此時點擊啟動即可啟動linux系統。此時會啟動終端模擬器,提示幾個問題,如果是第一次啟動會讓設置密碼,設置好密碼之後,再依次輸入y,最好設置解析度,y,即可。如果啟動失敗,可以多試幾次即可。
之後可以打開VNC客戶端,連接127.0.0.1:5900輸入剛才設置的用戶名密碼即可連接登陸。如果顯示被拒絕連接,可以檢查一下埠號是否正確。檢查的方法是到終端模擬器執行 netstat -tlnp 看一下vncserver前面對應的埠號碼是多少,再到VNC客戶端改為相應的埠號即可。