|
自從Google發(fā)起開發(fā)Android OS迄今已有三年,這是它在互聯(lián)網(wǎng)世界取得巨大成功后,旨在稱霸競(jìng)爭(zhēng)激烈的移動(dòng)互聯(lián)世界而揮出的一記重拳。Android 是專為移動(dòng)設(shè)備開發(fā)的操作系統(tǒng),里面包括了中間件平臺(tái)和一些核心程序。 然而,它并不只限于智能手機(jī)使用,它可以用在平板電腦、電子閱讀設(shè)備、甚至上網(wǎng)本上。 掀開它的面紗,你會(huì)發(fā)現(xiàn)其實(shí)里面竟是個(gè)Linux內(nèi)核。在它誕生之初,只有不多的一些設(shè)備支持它,其中第一個(gè)就是2008年十月發(fā)布的 HTC Dream 。 至此之后,支持 Android的設(shè)備 迅速增長(zhǎng)。
Google已將大部分的Android代碼發(fā)布于Apache軟件許可協(xié)議下。Apache軟件許可協(xié)議被公認(rèn)為“企業(yè)友好”的許可證,它允許廠商擴(kuò)展 具有專利性質(zhì)的程序,而不必將擴(kuò)展的程序提交回開源社區(qū)。你可以直接下載 Android 源代碼 ,把它編譯成自己的系統(tǒng),并在其上運(yùn)行Android軟件程序。 或者,如果你愿意,花點(diǎn)時(shí)間改動(dòng)它一下。
Google并不是單槍匹馬來開發(fā)這個(gè)復(fù)雜的系統(tǒng)。Open Handset Alliance (OHA) 已經(jīng)成立, 它由65家公司組成的企業(yè)聯(lián)盟,旨在為移動(dòng)設(shè)備制定一套開放標(biāo)準(zhǔn)(Google當(dāng)然首當(dāng)其沖)。很多大公司都在列,包括HTC,英特爾,摩托羅拉,Qualcomm, Texas Instruments,三星,LG,T-Mobile等等。
OHA的宗旨是制定一個(gè)開放的平臺(tái),徹底改變當(dāng)今移動(dòng)世界的操作模式。Andorid系統(tǒng)上“所有軟件生來平等”的原則給軟件的創(chuàng)作帶來了活力。這個(gè)原則意味著手機(jī)的核心程序和第三方程序享有平等的權(quán)利訪問手機(jī)的各種功能。
如果你是個(gè)開發(fā)人員,想去開發(fā)Android OS上的軟件,那么你需要 Android SDK 。Android SDK由一套很復(fù)雜的開發(fā)工具組成。它支持所有的主要操作平臺(tái)(Windows, Mac, Linux)。而開發(fā)軟件使用的主要語言是… Java。 然而,這些開發(fā)出的軟件并不是在普通的Java虛擬機(jī)上運(yùn)行,而是在一個(gè)為Andorid 特別設(shè)計(jì)的虛擬機(jī)上運(yùn)行,叫做Dalvik ,它為 只有有限的內(nèi)存和CPU的電池供電的移動(dòng)設(shè)備進(jìn)行了專門的優(yōu)化。所以說,它跟JME一定關(guān)系都沒有,完全不同的一套系統(tǒng)。這使得使用Java SE和ME編寫的Java程序和Android平臺(tái)上編寫的程序出現(xiàn)不兼容性。 Android只是使用了Java語言的語法定義,它只支持提供Java SE和ME里的部分類庫和API。
如果你認(rèn)為程序性能是頭等大事,那你需要 Android NDK ,它是Android SDK的一個(gè)附加工具,可以使Android程序開發(fā)人員把他們的跟性能最相關(guān)的部分代碼編譯成本地代碼。
Dalvik虛擬機(jī)上運(yùn)行的程序一般都被打包成Dalvik(.dex)可執(zhí)行格式,這些程序適合在那些內(nèi)存和處理器受限制的系統(tǒng)上運(yùn)行。如果你想對(duì)Dalvik虛擬機(jī)做深入研究,請(qǐng)查看Dalvik內(nèi)部結(jié)構(gòu)說明書。從Android 2.2 版本后, Dalvik提供了一個(gè)即時(shí)編譯器 ,它能使程序的執(zhí)行效率大大提高。 跟大多數(shù)虛擬機(jī)上的代碼一樣,Dalvik上也有一個(gè).DEX文件反編譯器,叫做Dedexer,同樣也是個(gè)開源軟件。
我們必須要注意一點(diǎn),Dalvik其實(shí)是使用 Apache 的Harmony項(xiàng)目的一個(gè)子集作為其核心類庫的。Apache Harmony 是一個(gè)開源的、免費(fèi)版的Java語言實(shí)現(xiàn),它實(shí)現(xiàn)了Java SE 5 和 6的規(guī)范。就像在其網(wǎng)站上說明的一樣, 這個(gè)項(xiàng)目的主要目的是提供:
- 在Apache 許可證 v2 下的一個(gè)兼容的、獨(dú)立的Java SE 5 JDK實(shí)現(xiàn)。
- 一個(gè)由社區(qū)組織開發(fā)的、模塊化的運(yùn)行時(shí)虛擬機(jī)和類庫
為了吸引全世界的人們?nèi)樗男虏僮飨到y(tǒng)開發(fā)應(yīng)用程序,Google組織了一系列Android開發(fā)者挑戰(zhàn)賽,這是一場(chǎng)最有創(chuàng)新性的Android應(yīng)用程序競(jìng)賽。還有什么比提供一萬千美元的獎(jiǎng)勵(lì)還能鼓舞開發(fā)人員的嗎?其中有兩個(gè)挑戰(zhàn)賽吸引了全 世界開發(fā)者的注意。 點(diǎn)擊下面的鏈接查看獲勝者的信息:
新開發(fā)出的Android應(yīng)用程序,不管是免費(fèi)的還是商業(yè)的,你都可以從Android市場(chǎng) 找到。Android市場(chǎng)是一個(gè)Google開發(fā)的在線的軟件庫。它提供了一個(gè)分類目錄,你可以把上面的應(yīng)用程序通過在線方式下載安 裝到你的目標(biāo)設(shè)備上,而不需要使用PC機(jī)。Android市場(chǎng)增長(zhǎng)迅速,目前上面已經(jīng)駐留了超過70,000個(gè)應(yīng)用軟件(截至2010年六月)。你自己可以看一下市場(chǎng)統(tǒng)計(jì)。
Android目前的版本號(hào)是Froyo,此版本做了很多的改進(jìn),加入了很多新功能 。 當(dāng)然,開發(fā)人員們 使用的SDK和NDK也有了很多的改進(jìn)。
這就是我要介紹的,一個(gè)對(duì)移動(dòng)平臺(tái)的簡(jiǎn)單介紹。在隨后的幾篇文章里,我們將會(huì)講解如何在虛擬機(jī)里安裝Android OS,告訴你如何使用SDK開發(fā)Android應(yīng)用程序。
it知識(shí)庫:展望Android之前世今生,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。