Android是否支持JDK 6或7

时间:2013-12-09 20:28:14

标签: android java-7 jdk6

我是Android开发的新手。我可以使用在Android中使用JDK 7开发的现有Java代码吗?

这些函数使用xerces dom和xslt以及xpathapi。目前,当我安装Android Eclipse ADT环境时,这些功能都没有编译。我还想知道Android设备本身是否支持JRE 6或7?

3 个答案:

答案 0 :(得分:79)

最初Android开发工具仅支持jdk 6功能。但这已经改变了,首先是2013年10月的Android Studio 0.3.2,请参阅:http://tools.android.com/recent/androidstudio032released

  

支持钻石操作符,多次捕获,资源尝试,交换机中的字符串等语言功能。   创建新项目时,您可以指定源语言级别:   enter image description here   请注意,您可以使用所有这些语言功能,不仅可以使用Android KitKat,还可以使用旧版本的Android!有一个例外:try-with-resources,这将需要minSdkVersion 19.因此,如果你的minSdkVersion小于19,Studio将标记try-with-resources代码中的任何用法:

然后在2014年3月通过ADT插件22.6,请参阅:http://developer.android.com/tools/sdk/eclipse-adt.html

  

添加了对Java 7语言功能的支持,例如multi-catch,try-with-resources和diamond操作符。这些功能需要构建工具的19或更高版本。尝试使用资源需要minSdkVersion 19;其余的新语言功能需要minSdkVersion 8或更高版本。   要在安装ADT 22.6.0之后使用新的语言功能,请确保在JDK 7上运行Eclipse并更改应用程序项目设置以使用JDK 7.

Android不打算与任何Java SE API版本100%兼容,不是6或8也不是。这就是甲骨文提起反诉谷歌的诉讼案件的原因,指责谷歌将Java分割。有些API无法在Android上实现为Swing;想象一下在android上有一个关闭按钮的窗口!其他人被推迟但实现了:例如:Charset类在Java SE 1.4中实现,但在Android API 9中实现,Java 7中的AutoClosable在Android API级别19中实现,以允许实现try-with-resources语言功能。有些API存在,但出于不同的目的,如控制台。

答案 1 :(得分:4)

首先,Java JDK和JRE之间存在差异。 JRE是Java运行时环境,而JDK是Java Development Kit。它是Android应用程序开发所需的JDK以及现有的Android SDK。

Android SDK可以使用JDK 6或7,但是,可以使用JDK 6 API。

答案 2 :(得分:0)

仅限JDK 5/6。 实际上andriod不完全支持jdk 6,因为android jdk 6不是Oracle JDK 6.

does android plan to support java 7

Apace Harmony