Android 将使用 OpenJDK

  • Abel Avram
  • 谢丽

2016 年 1 月 4 日

话题:JavaOracle开源移动GoogleAndroid语言 & 开发

Hacker News 报道Android 的一次源码提交表明,谷歌的移动操作系统正在将原先基于 Harmony 实现的 Java 库切换到 OpenJDK。谷歌已经向 VentureBeat 确认了这一举措

Android 大量使用了 Java 语言和一些基于已经停用的Apache Harmony项目的库。Harmony 项目的目标是提供一种免费开源的 Java 运行时实现及相关的库和工具,但 Sun 决定遵循GNU GPL 许可协议开源 Java,即OpenJDK 项目。该项目后来成为 Java Platform SE 的参考实现。

2005 年,在收购了同名公司之后,谷歌开始了 Android 上的工作,他们决定基于 Harmony 创建一个应用程序框架和开发工具。那会还没有 OpenJDK。后来,在 2010 年收购 Sun 之后,Oracle 起诉谷歌在 Android 上使用 Java 代码侵犯版权和专利权。谷歌起初赢得了官司,陪审团判定 Java API 没有版权,但联邦巡回法庭部分地推翻了这项裁决,认为 API 有版权。美国最高法院不希望看到这种情况,就将其发给了一个下级法院。那个过程目前还在继续。

与此同时,谷歌已经决定在 Android 上使用 OpenJDK 实现。在有关源代码提交的新闻在网络上传播开来之后,谷歌向 VentureBeat 确认了这一举措

作为一个开源平台,Android 构建在开源社区合作的基础上。在即将发布的 Android 版本中,我们计划将 Android 的 Java 语言库迁移到一种基于 OpenJDK 的方法,创建一个通用的代码库,供开发人员构建应用和服务。长期以来,谷歌一直在同 OpenJDK 社区合作,也一直在为社区做贡献,我们期待未来可以为 OpenJDK 项目做出更多的贡献。

谈及原因,谷歌告诉 VentureBeat,他们对使用存在于 Java 8 中的部分最新语言特性感兴趣,投资 OpenJDK 更有意义了。谷歌认为,这一举措有益于 Android 开发人员,因为有一个“面向这些 Java API 库的通用代码库,而不是多个代码库”简化了代码。

Codename One是一个跨平台的 Java 工具集,其联合创始人 Shai Almog对谷歌采用 OpenJDK 发表了评论,他在结尾写道:

这对各个地方所有的 Java 开发人员而言都是个好消息!

不管你是工作在 Android、服务器、移动端,还是在桌面上!

对于人们期待已久的谷歌 &Oracle“和平进程”或至少是停火协议,这是一个开始。这一举措最终将使我们可以遵循一个 Java 版本(考虑到 Android 缓慢的更新进程)。它将使 Java 在一些认为 Java 的封闭性存在问题的开发人员中间重新流行。

现在还不清楚,谷歌和 Oracle 是否已经就当前的法律纠纷达成了协议。不管怎样,谷歌参与 OpenJDK 项目将推动该项目及整个 Java 生态系统的进一步发展。

查看英文原文:Android Will Use the OpenJDK

JavaOracle开源移动GoogleAndroid语言 & 开发