索尼开发人员蒂姆·伯德(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 内核共享代码的好处。
【编辑推荐】