與Linux融合后Android之花將愈發(fā)茂盛
普通人可能沒(méi)有注意到這樣一個(gè)事實(shí):Google的Android開(kāi)發(fā)人員在將他們的代碼融合到Linux內(nèi)核中。但是,對(duì)于一個(gè)規(guī)模不大但很重要的群體而言卻不是這么回事:希望試用Android移動(dòng)操作系統(tǒng)的編程人員。
索尼開(kāi)發(fā)人員蒂姆·伯德(Tim Bird)參與了Android代碼融合到主流Linux內(nèi)核的工作。雙方的合作已經(jīng)向前邁出了一大步,Linux教父萊納斯·托瓦茲(Linus Torvalds)周日發(fā)布了3.3版Linux內(nèi)核,其中包含雙方合作的成果。
Android是一款開(kāi)放源代碼軟件,但代號(hào)為Ice Cream Sandwich的Android 4.0發(fā)布時(shí)間推遲數(shù)個(gè)月,彰顯了在開(kāi)發(fā)新版本時(shí)采用原有代碼方面的難度。Android有大量高級(jí)組件,例如Dalvik虛擬機(jī)以及Google自己的應(yīng)用,但是其基礎(chǔ)是Linux內(nèi)核。
Google至少在與主流Linux內(nèi)核項(xiàng)目合作開(kāi)發(fā)部分功能,這對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)是個(gè)福音。伯德表示,“這將在兩個(gè)方面給開(kāi)發(fā)人員帶來(lái)方便:在非Android系統(tǒng)中使用Android功能;在主流內(nèi)核上使用Android用戶界面。”
Google從未想過(guò)完全獨(dú)立于Linux內(nèi)核,但融合Android的Linux代碼和主流Linux內(nèi)核的部分努力并未取得理想的結(jié)果。伯德說(shuō),“Android開(kāi)發(fā)人員之前向主流Linux內(nèi)核提交代碼的數(shù)次努力都陷入僵局。部分通用功能(例如wakelocks)出現(xiàn)了問(wèn)題,已經(jīng)被無(wú)限期推遲,部分功能則從來(lái)沒(méi)有提交給主流Linux內(nèi)核。”Wakelocks阻止計(jì)算設(shè)備轉(zhuǎn)入低能耗或休眠狀態(tài)。
伯德指出,Android中利用各種中央和支持處理器所必需的代碼已經(jīng)融合到主流Linux內(nèi)核中,未來(lái)會(huì)有更多的Android代碼融合到主流Linux內(nèi)核中,例如能耗管理。
要發(fā)售一款商業(yè)級(jí)的Android產(chǎn)品,除主流Linux內(nèi)核外,還需要大量的定制性工作。因此,人們估測(cè)認(rèn)為3.3版Linux內(nèi)核對(duì)于開(kāi)發(fā)Android產(chǎn)品已經(jīng)足夠了。但這是一個(gè)良好的開(kāi)端,大大降低了利用Linux內(nèi)核和Android啟動(dòng)一個(gè)項(xiàng)目的難度。
伯德已經(jīng)發(fā)現(xiàn)有開(kāi)發(fā)人員在安裝有“極少量補(bǔ)丁軟件”的主流Linux內(nèi)核上運(yùn)行AOSP組件,對(duì)于希望看到Android離開(kāi)Google控制后發(fā)展方向的廠商,特別是開(kāi)發(fā)其他Linux移動(dòng)設(shè)備的廠商而言,這是一個(gè)好消息。
鑒于Google的Chrome瀏覽器開(kāi)發(fā)人員一直在與WebKit瀏覽器渲染引擎密切合作,Google可能認(rèn)為錯(cuò)失了更加建設(shè)性地與主流Linux內(nèi)核共享代碼的好處。
【編輯推薦】