Android 的简介和体系结构中每个层的功能。
Android 的簡介和體系結(jié)構(gòu)中每個層的功能。
1.簡介
Android是由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)并開發(fā)的一種基于Linux的自由且開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備。
Android一詞的本義指“機(jī)器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機(jī)操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。
Android是一個以Linux為基礎(chǔ)的開源操作系統(tǒng)主要用于智能手機(jī)和平板電腦等移動設(shè)備。
Android一詞最早出現(xiàn)于法國作家利爾亞當(dāng)(Auguste Villiers de l’Isle-Adam)在1886年發(fā)表的科幻小說《未來夏娃》(L’ève future)中。他將外表像人的機(jī)器起名為Android。
SDK:軟件開發(fā)工具包(Software Development Kit)
NDK:原生工具開發(fā)包(Natvie Development Kit,Android)
1.發(fā)展史
- List item2003年10月,Andy Rubin等人創(chuàng)建Android公司,并組建Android團(tuán)隊(duì)。
- List item 2005年8月17日,Google低調(diào)收購了成立僅22個月的高科技企業(yè)Android及其團(tuán)隊(duì)。安迪魯賓成為Google公司工程部副總裁,繼續(xù)負(fù)責(zé)Android項(xiàng)目。
- List item2007年11月5日,谷歌公司正式向外界展示了這款A(yù)ndroid的操作系統(tǒng),且在這天谷歌宣布建立一個全球性的聯(lián)盟組織,來共同研發(fā)改良Android系統(tǒng)聯(lián)盟將支持谷歌發(fā)布的手機(jī)操作系統(tǒng)以及應(yīng)用軟件,這一聯(lián)盟將支持谷歌發(fā)布的手機(jī)操作系統(tǒng)以及應(yīng)用軟件,Google以Apache免費(fèi)開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。
- List item在2008年9月,谷歌正式發(fā)布了Android 1.0系統(tǒng),這也是Android系統(tǒng)最早的版本。
- List item2009年4月,谷歌正式推出了Android 1.5這款手機(jī)命名為Cupcake(紙杯蛋糕)。該系統(tǒng)與Android 1.0相比有了很大的改進(jìn)。
- List item2009年9月份,谷歌發(fā)布了Android 1.6的正式版,它被稱為Donut(甜甜圈)。
- List item 2010年5月份,谷歌正式發(fā)布了Android 2.2操作系統(tǒng)。谷歌將Android 2.2操作系統(tǒng)命名為Froyo,翻譯完名為凍酸奶。
- List item在2010年12月,谷歌正式發(fā)布了Android 2.3操作系統(tǒng)Gingerbread (姜餅)
- List item2011年9月份,谷歌將會發(fā)布全新的Android 4.0操作系統(tǒng),這款系統(tǒng)被谷歌命名為Ice Cream Sandwich(冰激凌三明治)。
- List item 2013年11月1日,Android4.4正式發(fā)布,從具體功能上講,Android4.4提供了各種實(shí)用小功能,新的Android系統(tǒng)更智能,添加更多的Emoji表情圖案,UI的改進(jìn)也更現(xiàn)代
- List item2019年8月,谷歌宣布Android系統(tǒng)的重大改變,不僅換了全新的logo,命名方式也變了,今年的Android Q的正式名稱是Android 10。
2.結(jié)構(gòu)
Android的系統(tǒng)架構(gòu)和操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,Android分為四個層,從高層到低層分別是應(yīng)用程序?qū)印?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和Linux內(nèi)核層。
3.應(yīng)用程序
Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。
- List itemAndroid ---->包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些核心庫:
- List item 系統(tǒng) C 庫 ----> 一個從BSD繼承來的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫 Libc ), 它是專門為基于Embedded linux的設(shè)備定制的。
- List item媒體庫 ----->基于PacketVideo OpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態(tài)圖像文件。編碼格式包括MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG 。 - List item Surface Manager --à對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提 供了2D和3D圖層的無縫融合。
- List itemLibWebCore ---->一個最新的web瀏覽器引擎用,支持Android瀏覽器和一個可嵌入的web視圖。
- List item操作系統(tǒng)與應(yīng)用程序的溝通橋梁,應(yīng)用分為兩層:函數(shù)(Library)和虛擬機(jī)(Virtual Machine)。
- List itemAndroid的中間層多以Java 實(shí)現(xiàn),并且采用特殊的Dalvik 虛擬機(jī)(Dalvik Virtual Machine)。
- List item Dalvik虛擬機(jī)可以有多個實(shí)例(Instance),
每個Android應(yīng)用程序都用一個自屬的Dalvik虛擬機(jī)來運(yùn)行,讓系統(tǒng)在運(yùn)行程序時可達(dá)到優(yōu)化。Dalvik 虛擬機(jī)并非運(yùn)行Java字節(jié)碼(Bytecode),而是運(yùn)行一種稱為.dex格式的文件。
4.Application Framework
- List itemFramework可以理解為一些API的庫房,android開發(fā)人員將一些基本功能實(shí)現(xiàn),通過接口提供給上層調(diào)用,可以重復(fù)的調(diào)用這一機(jī)制允許用戶替換組件。所有的應(yīng)用程序其實(shí)是一組服務(wù)和系統(tǒng),包括:
5.Applications
Android裝配一個核心應(yīng)用程序集合,包括電子郵件客戶端、SMS程序、日歷、地圖、瀏覽器、聯(lián)系人和其他設(shè)置。所有應(yīng)用程序都是用Java編程語言寫的。
總結(jié)
以上是生活随笔為你收集整理的Android 的简介和体系结构中每个层的功能。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。