我是android开发的新手。而且我已经在计算机上安装了eclipse,java 11和android sdk工具。但是,当我尝试构建项目时,它表示要升级工具。但是我已经安装了最新的SDK。
当我在互联网上阅读时,我发现android并不完全支持Java SE,它主要支持Java SE 6和7。-但这是一个古老的帖子。
我发现android并不完全支持java 11。
我的问题是,什么是完全支持android的JDK版本,我是否必须在计算机中安装2个JDK版本?
答案 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版本兼容性方面苦苦挣扎的人