Android是否支持Java 11?

时间:2018-11-24 07:25:33

标签: java android sdk java-11

我是android开发的新手。而且我已经在计算机上安装了eclipse,java 11和android sdk工具。但是,当我尝试构建项目时,它表示要升级工具。但是我已经安装了最新的SDK。

当我在互联网上阅读时,我发现android并不完全支持Java SE,它主要支持Java SE 6和7。-但这是一个古老的帖子

我发现android并不完全支持java 11。

我的问题是,什么是完全支持android的JDK版本,我是否必须在计算机中安装2个JDK版本?

5 个答案:

答案 0 :(得分:7)

Android Studio 北极狐 | 2020.3.1 终于可以在你的项目中使用 Java 11,这里有更多信息: https://developer.android.com/studio/releases/gradle-plugin?utm_source=android-studio-2020-3-1&utm_medium=studio-assistant-stable#java-11

答案 1 :(得分:5)

如官方文档所述:

  

Android Studio 3.0及更高版本支持所有Java 7语言功能,并且   Java 8语言功能的子集,具体取决于平台版本

因此 JDK 7 完全受支持,如果要使用某些JDK 8功能,则应进行适当的设置。

这里是the ref link for using Java 8

并且android studio不支持高于8的Java版本。

答案 2 :(得分:4)

您将向后调整方向。 Android支持某些Java版本,而不是其他版本。

话虽这么说,Oracle Java和Android Java并不是完全一样的-实际上,它们甚至没有使用相同的虚拟机。它们是完全独立开发的。

正如其他人指出的那样,Android的最新版本最多支持Java 7和Java 8功能的子集。较旧的Android版本可能不支持该功能。

答案 3 :(得分:2)

也许这2篇文章可以使您对情况有更多的了解:

Jake Wharton - Android's Java 9, 10, 11, and 12 Support

Jake Wharton - Android's Java 8 Support

Android 9也支持Java 9-12的某些功能 例如,如果您设置了适当的compileOptions

compileOptions {
    targetCompatibility JavaVersion.VERSION_12
    sourceCompatibility JavaVersion.VERSION_12
}

P.S。对于Java 12,您需要设置“可能最新”的Gradle插件版本。

答案 4 :(得分:0)

截至2020年10月,Open JDK现在支持许多缺少的API和Java的较新版本。我发现一些有用的链接:Support for newer Java language APIs(Youtube官方视频)和Java 8+ APIs available through desugaring。我希望这可以帮助那些在Java版本兼容性方面苦苦挣扎的人