普通人可能没有注意到这样一个事实:Google的Android开发人员在将他们的代码融合到Linux内核中。但是,对于一个规模不大但很重要的群体而言却不是这么回事:希望试用Android移动操作系统的编程人员。
索尼开发人员蒂姆·伯德(Tim Bird)参与了Android代码融合到主流Linux内核的工作。双方的合作已经向前迈出了一大步,Linux教父莱纳斯·托瓦兹(Linus Torvalds)周日发布了3.3版Linux内核,其中包含双方合作的成果。
Android是一款开放源代码软件,但代号为Ice Cream Sandwich的Android 4.0发布时间推迟数个月,彰显了在开发新版本时采用原有代码方面的难度。Android有大量高级组件,例如Dalvik虚拟机以及Google自己的应用,但是其基础是Linux内核。
Google至少在与主流Linux内核项目合作开发部分功能,这对于开发人员来说是个福音。伯德表示,“这将在两个方面给开发人员带来方便:在非Android系统中使用Android功能;在主流内核上使用Android用户界面。”
Google从未想过完全独立于Linux内核,但融合Android的Linux代码和主流Linux内核的部分努力并未取得理想的结果。伯德说,“Android开发人员之前向主流Linux内核提交代码的数次努力都陷入僵局。部分通用功能(例如wakelocks)出现了问题,已经被无限期推迟,部分功能则从来没有提交给主流Linux内核。”Wakelocks阻止计算设备转入低能耗或休眠状态。
伯德指出,Android中利用各种中央和支持处理器所必需的代码已经融合到主流Linux内核中,未来会有更多的Android代码融合到主流Linux内核中,例如能耗管理。
要发售一款商业级的Android产品,除主流Linux内核外,还需要大量的定制性工作。因此,人们估测认为3.3版Linux内核对于开发Android产品已经足够了。但这是一个良好的开端,大大降低了利用Linux内核和Android启动一个项目的难度。
伯德已经发现有开发人员在安装有“极少量补丁软件”的主流Linux内核上运行AOSP组件,对于希望看到Android离开Google控制后发展方向的厂商,特别是开发其他Linux移动设备的厂商而言,这是一个好消息。
鉴于Google的Chrome浏览器开发人员一直在与WebKit浏览器渲染引擎密切合作,Google可能认为错失了更加建设性地与主流Linux内核共享代码的好处。
【编辑推荐】