基于Linux內(nèi)核的Android作為專為移動設(shè)備開發(fā)的操作系統(tǒng),并不只限于智能手機(jī)使用,還可以用在平板電腦、電子閱讀設(shè)備、甚至上網(wǎng)本上。
如今,Google已將大部分的Android代碼發(fā)布于Apache軟件許可協(xié)議下。Apache軟件許可協(xié)議被公認(rèn)為“企業(yè)友好”的許可證,它允許廠商擴(kuò)展 具有專利性質(zhì)的程序,而不必將擴(kuò)展的程序提交回開源社區(qū)。
為了開發(fā)這一系統(tǒng),Google聯(lián)合了65家公司組成了一個企業(yè)聯(lián)盟并不是單槍匹馬來開發(fā)這個復(fù)雜的系統(tǒng)——Open Handset Alliance (OHA),并意欲為移動設(shè)備制定一套開放標(biāo)準(zhǔn)。其中包括英特爾,摩托羅拉,三星,LG等。
OHA的宗旨是制定一個開放的平臺,徹底改變當(dāng)今移動世界的操作模式。Andorid系統(tǒng)上“所有軟件生來平等”的原則給軟件的創(chuàng)作帶來了活力。這個原則意味著手機(jī)的核心程序和第三方程序享有平等的權(quán)利訪問手機(jī)的各種功能。
作為開發(fā)人員,想去開發(fā)Android OS上的軟件,那么你則需要Android SDK。Android SDK由一套很復(fù)雜的開發(fā)工具組成。它支持所有的主要操作平臺(Windows, Mac, Linux)。 而開發(fā)軟件使用的主要語言是Java。然而,這些開發(fā)出的軟件并不是在普通的Java虛擬機(jī)上運(yùn)行,而是在一個為Andorid 特別設(shè)計的虛擬機(jī)上運(yùn)行,叫做Dalvik,它為只有有限的內(nèi)存和CPU的電池供電的移動設(shè)備進(jìn)行了專門的優(yōu)化。這使得使用Java SE和ME編寫的Java程序和Android平臺上編寫的程序出現(xiàn)不兼容性。Android只是使用了Java語言的語法定義,它只支持提供Java SE和ME里的部分類庫和API。
如果你認(rèn)為程序性能是頭等大事,那你需要Android NDK,它是Android SDK的一個附加工具,可以使Android程序開發(fā)人員把他們的跟性能最相關(guān)的部分代碼編譯成本地代碼。
Dalvik虛擬機(jī)上運(yùn)行的程序一般都被打包成Dalvik(.dex)可執(zhí)行格式,這些程序適合在那些內(nèi)存和處理器受限制的系統(tǒng)上運(yùn)行。從Android 2.2 版本后,Dalvik提供了一個即時編譯器,它能使程序的執(zhí)行效率大大提高。跟大多數(shù)虛擬機(jī)上的代碼一樣,Dalvik上也有一個.DEX文件反編譯器,叫做Dedexer,同樣也是個開源軟件。
我們必須要注意一點(diǎn),Dalvik其實(shí)是使用Apache的Harmony項目的一個子集作為其核心類庫的。Apache Harmony是一個開源的、免費(fèi)版的Java語言實(shí)現(xiàn),它實(shí)現(xiàn)了Java SE 5和6的規(guī)范。
新開發(fā)出的Android應(yīng)用程序,不管是免費(fèi)的還是商業(yè)的,你都可以從Android市場找到。 Android市場是一個Google開發(fā)的在線的軟件庫。 它提供了一個分類目錄,你可以把上面的應(yīng)用程序通過在線方式下載安裝到你的目標(biāo)設(shè)備上,而不需要使用PC機(jī)。 Android市場增長迅速,目前上面已經(jīng)駐留了超過70,000個應(yīng)用軟件(截至2010年六月)。
Android目前的版本號是Froyo,此版本做了很多的改進(jìn),加入了很多新功能。 當(dāng)然,開發(fā)人員們使用的SDK和NDK也有了很多的改進(jìn)
|