Google确认下一个Android版本将不会使用Oracle的Java API-阿里云开发者社区

开发者社区> 行者武松> 正文

Google确认下一个Android版本将不会使用Oracle的Java API

简介:
+关注继续查看

在下一个Android版本中Google将会把应用程序接口(APIs)的实现替换为OpenJDK,它是Oracle私有的Java开发工具包(JDK)的开源版本。Google确认了Android N将会仅依赖于OpenJDK,而非Android自身实现的Java APIs。一位Google的发言人说:“最为一个开源平台,Android的构建是基于开源社区的合作。在即将到来的Android的下一个版本Android N,我们计划将所有Android的Java语言开发包用OpenJDK实现,从而为开发人员在构建应用程序和服务时提供通用代码库。Google是OpenJDK社区的长期贡献者,并且我们期待在未来为OpenJDK作出更大的贡献。”

Android提供了一定的Java API库,以支持使用Java语言来开发Android apps,这些库分为两部分:API库和Google开发的API库的实现代码。Oracle开发的Java,其API库由两种实现:专有的JDK版本和开源的OpenJDK版本。Google决定全面使用OpenJDK,其实Android在一些地方早已开始使用了,使用OpenJDK意味着要开源这部分的实现代码。

这个code commit表明修改了8902个文件,明确表示了OpenJDK代码被加进了Android中:

Initial import of OpenJdk files.

Create new libcore/ojluni directory with src/main/java and src/main/native subdirectiories.

Build ojluni into core-oj jar.

Use openjdk classes from java.awt.font package.

Copy all files from jdk/src/share/classes and jdk/src/solaris/classes directories in openjdk into libcore/ojluni/src/main/java.

Copy following native files from openjdk to libcore/ojluni/src/main/native: [long list of files]

Google一直希望Android开发者能够接受这些改变,因为它在开发apps时有助于简化代码 —— 使用单一共同的Java API代码库而非使用多代码库。这些原因可能是真实的,但并非完全转向OpenJDK的全部原因,如果是这样的话几年前Google早就这么干了。当Google发言人被问到为什么是现在,Google指出是去年发布的Java 8和Java语言的一些新特性例如lambdas。Google想要为OpenJDK投入更多资源,这样团队就能对新特性和技术改进有更大的影响力和发言权。

当然这其中还涉及大量的版权问题,代码的提交是否意味着Oracle和Google之间关于Java APIs的法律诉讼是否已经庭外和解,由于Oracle的诉讼还在进行,Google对于代码提交和诉讼是否有关拒绝作出评论。2010年1月Oracle收购Sun之后,Oracle在2010年8月起诉Google的版权和专利侵权,认为Android在未经授权的情况下使用了Java API。Google反驳称,APIs不受版权保护,因为它对于软件开发、协作和创新是必不可少的。在2012年5月,一个陪审团认为Java的API不受版权保护,Google对Oracle的专利侵犯不成立。2014年5月,联邦巡回上诉法院部分逆转了区法院的判决,认定Java API受版权保护。就在2015年6月,美国最高法院拒绝审理此案,案件发回下级法院继续审理。在这些与Oracle的对决之后,Google已经决定彻底拥抱OpenJDK了么?不管怎么样,结局是确定的:Android未来的版本将基于OpenJDK而非Oracle专有的JDK版本。

不管怎么样,案件还未结束,Google也无法改变现有的Android版本,业界人士对此案的裁决异常关注,因为这将对软件开发产生巨大的影响。如果Oracle胜诉,开发者基于现有应用和服务开发新的软件都将产生版权问题。如果Google胜了,APIs的使用将不会受到版权保护。

本文转自d1net(转载)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle 11g R2版本使用exp命令导出表不全的解决方案
建议使用 expdp和 impdp 替代  exp和imp 命令!
617 0
理解和使用Oracle分析工具LogMiner
用LogMiner             理解和使用Oracle   8i分析工具LogMiner                 Oracle   LogMiner   是Oracle公司从产品8i以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得Oracle   重作日志文件(归档日志文件)中的具体内容,特别是,该工具可以分析出所有对于数据库操作的DML(insert、update、delete等)语句,另外还可分析得到一些必要的回滚SQL语句。
1174 0
MyBatis Generator(MBG)Oracle使用说明 公共同义词 LONG数据类型
Oracle使用说明公共同义词 Public Synonyms如果要为具有公共同义词的表生成对象,则应该实际上根据真实表生成对象,然后在运行时更改表名称。MyBatis Generator自动支持。
912 0
使用IntelliJ IDEA 14和Maven创建java web项目
原文:使用IntelliJ IDEA 14和Maven创建java web项目 http://mark.leanote.com/post/%E4%BD%BF%E7%94%A8IntelliJ-IDEA-14%E5%92%8CMaven%E5%88%9B%E5%BB%BAjava-web%E9%A1%B9%E7%9B%AE 安装Maven 下载安装 去maven官网下载最新版。
1283 0
+关注
行者武松
杀人者,打虎武松也。
17142
文章
2569
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载