Android平臺(tái)動(dòng)力不斷
到2010年底,市面上將會(huì)有115款谷歌Android手機(jī)以及50款非手機(jī)的Android設(shè)備。不管這些數(shù)字是否準(zhǔn)確,現(xiàn)實(shí)的情況是,Android開始突破其最初鎖定的智能手機(jī),開始向多個(gè)行業(yè)和領(lǐng)域的嵌入式設(shè)備進(jìn)軍。為什么產(chǎn)品經(jīng)理以及技術(shù)負(fù)責(zé)人都對(duì)這個(gè)熱門的平臺(tái)投以青睞的目光?為什么Android技術(shù)對(duì)醫(yī)療設(shè)備、機(jī)頂盒和車載信息娛樂系統(tǒng)等諸多不同的市場(chǎng)有如此大的吸引力?其中既有商業(yè)方面的因素,也有技術(shù)方面的因素。產(chǎn)業(yè)動(dòng)力在開源授權(quán)許可下的技術(shù),會(huì)給成本和開發(fā)團(tuán)隊(duì)建設(shè)帶來極大的優(yōu)勢(shì),這對(duì)技術(shù)經(jīng)理和公司高管都有足夠的吸引力。這方面的確有一些令人信服的理由,讓他們選擇嵌入式Android操作系統(tǒng)。首先是授權(quán)許可因素。采用開放源代碼技術(shù)的嵌入式系統(tǒng)開發(fā)要求開發(fā)商/賣方充分理解嵌入式軟件組件的許可證。Android是非常有吸引力的,因?yàn)橐罁?jù)Apache2.0授權(quán)許可的條款,所有內(nèi)核包封裝都是開放的,這就允許大家將其源代碼用于自己的開源應(yīng)用程序中,不管是商業(yè)盈利用途還是免費(fèi)提供出去。接下來是源代碼因素。Android提供了一系列源代碼,由Android團(tuán)隊(duì)特別編寫,利用現(xiàn)有的開源項(xiàng)目提供了一個(gè)完整且緊密銜接的軟件堆棧。在當(dāng)前在公用的Android庫中有200多個(gè)獨(dú)立的Git樹。這里不僅有核心包源代碼,而且還有很多硬件部件廠商也愿意提供其特殊驅(qū)動(dòng)程序的源代碼。再加上有很多社區(qū)都在積極地對(duì)這些源代碼進(jìn)行管理和維護(hù)。顯然,任何希望針對(duì)各種特殊用途而對(duì)代碼進(jìn)行優(yōu)化的開發(fā)團(tuán)隊(duì)都將從中獲益。版本發(fā)行頻率也是重要因素。Android以相對(duì)頻繁的節(jié)奏推出主要版本。移動(dòng)手機(jī)的血統(tǒng)決定,它必須以更快節(jié)奏的發(fā)布周期來滿足市場(chǎng)期待?,F(xiàn)在,每年推出很多個(gè)版本是家常便飯。但Android似乎計(jì)劃將周期設(shè)定在每半年發(fā)布一個(gè)版本,這種更新速度將很明顯地使Android采納者受益。來自產(chǎn)業(yè)鏈的支持更加有力。盡管最早期的Android產(chǎn)品工作重點(diǎn)關(guān)注ARM架構(gòu),實(shí)際上幾乎所有的主要嵌入式芯片供應(yīng)商都已經(jīng)建立并積極地保留一個(gè)Android基本端口。這些硬件供應(yīng)商可以協(xié)助開發(fā)人員加快其產(chǎn)品上市,并開放他們的架構(gòu)以讓開發(fā)人員從中受益。從軟件方面來看,已經(jīng)有一個(gè)與Android相關(guān)的大型開發(fā)者社區(qū),不僅推動(dòng)應(yīng)用層內(nèi)容(有超過40,000個(gè)可用應(yīng)用程序),而且還推動(dòng)了Android中間件組件,從增強(qiáng)和優(yōu)化等方面。這對(duì)Android的持續(xù)發(fā)展至關(guān)重要。文檔和培訓(xùn)也是重要因素。讓開發(fā)團(tuán)隊(duì)精通Android所需要的時(shí)間也是要計(jì)成本的。要讓你的團(tuán)隊(duì)變得能干,清晰、簡(jiǎn)潔、最新的文檔至關(guān)重要。Android社區(qū)提供有一系列教學(xué)內(nèi)容、視頻(有一些是用戶制做的,有一些來自商業(yè)供應(yīng)商)、大量的博客和不同公司提供的Android學(xué)術(shù)研討、最佳實(shí)例和教程。技術(shù)動(dòng)力在技術(shù)方面,有很大一股力量推動(dòng)著傳統(tǒng)嵌入式開發(fā)人員積極采用Android平臺(tái)來設(shè)計(jì)新產(chǎn)品。以下幾個(gè)方面突出體現(xiàn)了移動(dòng)裝置制造商的首席技術(shù)官、工程負(fù)責(zé)人以及產(chǎn)品管理人員愿意采用Android的最主要原因。首先是廣為開放的技術(shù)框架。谷歌和其合作伙伴聯(lián)盟正在投資用于滿足特定的應(yīng)用需求的框架(framework)。Android提供了新的、快速發(fā)展的技術(shù)框架,不僅是手機(jī),甚至很多并非傳統(tǒng)上的智能手機(jī)的設(shè)備,都將被納入這個(gè)框架。這將為Android裝置進(jìn)入智能家庭、智能辦公室市場(chǎng)開辟道路。其次是現(xiàn)成可用的硬件參考平臺(tái)。Android普及導(dǎo)致的結(jié)果之一就是,硬件廠商為了開發(fā)原型產(chǎn)品以及對(duì)自己的硬件產(chǎn)品進(jìn)行性能測(cè)試,推出了許多參考性的平臺(tái)。因此,最終產(chǎn)品開發(fā)制造商在此基礎(chǔ)上只要稍加修改,即可推出自己的產(chǎn)品。目前,Android硬件參考平臺(tái)最大量的主要是基于ARM的手機(jī)(采用高通芯片),主要也是以特定庫集合的性能基準(zhǔn)測(cè)試或者Android一致性測(cè)試套件為目的。其它基于硬件的參考平臺(tái),例如德州儀器(TexasInstruments)的Zoom和Beagleboard參考系統(tǒng)。另外還有很多新的平板電腦、車載信息娛樂和機(jī)頂盒產(chǎn)品。所有這些參考設(shè)計(jì),都將成為最終產(chǎn)品制造商的最佳起點(diǎn)。輕松上手的虛擬機(jī)。與軟件堆棧的上層和中間層相關(guān)的編程語言是嵌入式系統(tǒng)的技術(shù)評(píng)價(jià)的決定性標(biāo)準(zhǔn)之一。Java是非常流行的編程語言,在業(yè)界已經(jīng)有數(shù)量眾多的工程師在Java開發(fā)方面經(jīng)驗(yàn)十分豐富,而Android是基于Java變成語言的,雖然它是以自身的虛擬機(jī)Dalvik為基礎(chǔ)。因此,盡管這些工程團(tuán)隊(duì)可能需要花些精力去熟悉和理解AndroidJava庫和類以及字節(jié)編碼結(jié)構(gòu),但這些受過精良訓(xùn)練的Java工程師無疑會(huì)成為Android產(chǎn)品開發(fā)的中間力量。精良的開發(fā)和調(diào)試工具將是推動(dòng)Android產(chǎn)品發(fā)展的重要?jiǎng)恿?。使用開放源開發(fā)環(huán)境和調(diào)試工具,允許現(xiàn)有的開發(fā)部門迅速地切換到新的Android平臺(tái)上來,特別是如果其以往的經(jīng)驗(yàn)建立在另一個(gè)基于嵌入式Linux的開發(fā)環(huán)境,這就擁有了更好的基礎(chǔ)。從調(diào)試的角度來看,Linux開發(fā)人員很容易接受Android,因?yàn)镚DB、GNU調(diào)試器,是一種常見的調(diào)試Android代碼的方法。同時(shí),NDK(NativeDevelopmentKit,本機(jī)開發(fā)工具包)也支持被添加到標(biāo)準(zhǔn)的Android軟件開發(fā)工具包中,提供了一種建立性能和圖形敏感應(yīng)用的新方式。在以Google為首、由電信運(yùn)營商、設(shè)備制造商和半導(dǎo)體廠商構(gòu)成的OHA中,風(fēng)河公司是第一家Linux商業(yè)成員,自然也就在Andorid的發(fā)展中起到了重要的作用,特別是跟所有的半導(dǎo)體芯片廠商密切合作,以便使Android系統(tǒng)和硬件芯片的效能都發(fā)揮到極致。同時(shí),風(fēng)河也為OHA的關(guān)鍵技術(shù)做出了重要貢獻(xiàn),例如ALSA(AdvancedLinux Sound Architecture )、V4L2集成、硬件抽象層、測(cè)試與兼容以及常見缺陷排除等。iPhone的應(yīng)用是以蘋果公司為核心。PC的應(yīng)用是以微軟為核心。Android應(yīng)用,不論核心在哪里,把產(chǎn)品建立在Wind RiverPlatform for Android基礎(chǔ)之上都是比較可靠的選擇。