我是android开发新手,我已经在电脑里安装了eclipse,java 11和android sdk工具,但是当我试图构建一个项目时,它说要升级工具,但是我已经安装了最新的sdk。当我在互联网上阅读时,我发现Android并不完全支持Java SE,它主要支持Java SE 6和7. - * 但这是一个旧的职位 * .我发现Android并不完全支持Java 11。我的问题是,什么是完全支持android的JDK版本,我必须在我的计算机上安装2个版本的JDK吗?
gojuced71#
使用Android工作室北极狐|2020.3.1最后你可以在你的项目中使用Java 11,这里有更多信息:https://developer.android.com/studio/past-releases/past-agp-releases/agp-7-0-0-release-notes#java-11现在,您可以在应用项目中编译最高达Java 11的源代码,从而使用较新的语言功能,如私有接口方法、用于匿名类的菱形运算符以及用于lambda参数的局部变量语法。要启用此功能,请将compileOptions设置为所需的Java版本,并将compileSdkVersion设置为30或更高
compileSdkVersion
// build.gradle android { compileSdkVersion 30 compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } // For Kotlin projects kotlinOptions { jvmTarget = "11" } }
lo8azlld2#
可能是这2篇文章对情况给予了更多的了解:Jake Wharton - Android's Java 9, 10, 11, and 12 SupportJake Wharton - Android's Java 8 Support如果您设置了适当的compileOptions,Java 9-12的某些功能在Android中也会受到支持,例如
compileOptions { targetCompatibility JavaVersion.VERSION_12 sourceCompatibility JavaVersion.VERSION_12 }
注:对于java 12,您需要设置Gradle插件的“可能最新”版本。
n3h0vuf23#
正如官方文件所述:Android Studio 3.0及更高版本支持所有Java 7语言功能以及Java 8语言功能的子集(因平台版本而异所以完全支持JDK 7,如果您想使用JDK 8的一些特性,您应该进行适当的设置。这里是the ref link for using Java 8android studio不支持高于8的java版本。
bvhaajcl4#
你有向后适应的方向。Android支持某些版本的Java,而不是相反。话虽如此,Oracle Java和Android Java实际上并不是一回事--事实上,它们甚至没有使用相同的虚拟机,它们是完全独立开发的。正如其他人所指出的,最新版本的Android最多支持Java7和Java8的一个子集,旧版本的Android可能支持的更少。
44u64gxh5#
截至2020年10月,许多缺失的API和更新版本的Java现在都可以通过Open JDK获得支持。Support for newer Java language APIs(官方YouTube视频)和Java 8+ APIs available through desugaring。我希望这能帮助那些在Java版本兼容性问题上苦苦挣扎的人
5条答案
按热度按时间gojuced71#
使用Android工作室北极狐|2020.3.1最后你可以在你的项目中使用Java 11,这里有更多信息:https://developer.android.com/studio/past-releases/past-agp-releases/agp-7-0-0-release-notes#java-11
现在,您可以在应用项目中编译最高达Java 11的源代码,从而使用较新的语言功能,如私有接口方法、用于匿名类的菱形运算符以及用于lambda参数的局部变量语法。
要启用此功能,请将compileOptions设置为所需的Java版本,并将
compileSdkVersion
设置为30或更高lo8azlld2#
可能是这2篇文章对情况给予了更多的了解:
Jake Wharton - Android's Java 9, 10, 11, and 12 Support
Jake Wharton - Android's Java 8 Support
如果您设置了适当的compileOptions,Java 9-12的某些功能在Android中也会受到支持,例如
注:对于java 12,您需要设置Gradle插件的“可能最新”版本。
n3h0vuf23#
正如官方文件所述:
Android Studio 3.0及更高版本支持所有Java 7语言功能以及Java 8语言功能的子集(因平台版本而异
所以完全支持JDK 7,如果您想使用JDK 8的一些特性,您应该进行适当的设置。
这里是the ref link for using Java 8
android studio不支持高于8的java版本。
bvhaajcl4#
你有向后适应的方向。Android支持某些版本的Java,而不是相反。
话虽如此,Oracle Java和Android Java实际上并不是一回事--事实上,它们甚至没有使用相同的虚拟机,它们是完全独立开发的。
正如其他人所指出的,最新版本的Android最多支持Java7和Java8的一个子集,旧版本的Android可能支持的更少。
44u64gxh5#
截至2020年10月,许多缺失的API和更新版本的Java现在都可以通过Open JDK获得支持。Support for newer Java language APIs(官方YouTube视频)和Java 8+ APIs available through desugaring。我希望这能帮助那些在Java版本兼容性问题上苦苦挣扎的人