安卓是基於linux內核的自由及開發源代碼的操作系統,但是並不能將安卓直接理解為linux系統;Linux發行版中的軟件通常只收錄經過開源社區審核過的開源軟件,或者經過商業機構審核的閉源軟件,而安卓上面的軟件基本都是閉源的,而且針對這些軟件基本沒有審核機制。
小編還為您整理了以下內容,可能對您也有幫助:
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 所產生的,這樣做是為了保留常數、數據結構與宏。
擴展資料
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權限。
參考資料:百度百科-Android(Google公司開發的操作系統)
參考資料:百度百科-操作系統
android系統是基於Linux對嗎
Android是一種基於Linux的自由及開放源代碼的操作系統。
主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國地區較多人使用“安卓”。Android操作系統最初由Andy Rubin開發,主要支持手機。
擴展資料:
平台優勢:
在優勢方面,Android平台首先就是其開放性,開發的平台允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨着用户和應用的日益豐富,一個嶄新的平台也將很快走向成熟。
開放性對於Android的發展而言,有利於積累人氣,這裏的人氣包括消費者和廠商,而對於消費者來講,最大的受益正是豐富的軟件資源。開放的平台也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。
參考資料來源:百度百科——android系統
安卓與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平台來編寫的。