Android是否支持Java 11?

Sen*_*san 13 java sdk android java-11

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

当我在网上正在读我发现,Android不完全支持Java SE和它主要针对Java SE 6和7支持- 但是这是一个老帖子

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

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

Mik*_*ike 16

可能是这2篇文章对这种情况有更多的了解:

Jake Wharton - Android 的 Java 9、10、11 和 12 支持

Jake Wharton - Android 的 Java 8 支持

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

compileOptions {
    targetCompatibility JavaVersion.VERSION_12
    sourceCompatibility JavaVersion.VERSION_12
}
Run Code Online (Sandbox Code Playgroud)

PS for java 12 您需要设置 Gradle 插件的“可能最新”版本。


nav*_*ver 13

如官方文档所述:

Android Studio 3.0及更高版本支持所有Java 7语言功能以及部分Java 8语言功能,具体取决于平台版本

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

这是使用Java 8的参考链接

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


myc*_*cky 11

使用 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 -稳定#java-11


dds*_*tan 6

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


EJo*_*ica 5

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

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

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