Java Android Studio是否完全支持JDK 1.8?
我刚刚从以前的JDK1.8.0_33下载了JDK1.8.0_51,因为我遇到了一些问题。在Android中使用jdk8有一些变通方法,我只是想知道谷歌是否已经在androidstudio中添加了对Jdk的全面支持?或者我应该只使用JDK1.7吗?非常感谢您的建议。请使用Java 1.7或Java 1.6 我自己在安卓4和Java 7上有问题,所以我使用了1.6,所有问题都解决了Java Android Studio是否完全支持JDK 1.8?,java,android,android-studio,Java,Android,Android Studio,我刚刚从以前的JDK1.8.0_33下载了JDK1.8.0_51,因为我遇到了一些问题。在Android中使用jdk8有一些变通方法,我只是想知道谷歌是否已经在androidstudio中添加了对Jdk的全面支持?或者我应该只使用JDK1.7吗?非常感谢您的建议。请使用Java 1.7或Java 1.6 我自己在安卓4和Java 7上有问题,所以我使用了1.6,所有问题都解决了 我认为当你使用1.7而不是1.8时,问题会少一些。你应该只使用JDK1.7。JDK 8中有一些功能还不受支持。您可以使
我认为当你使用1.7而不是1.8时,问题会少一些。你应该只使用JDK1.7。JDK 8中有一些功能还不受支持。您可以使用java 1.8,但不要使用1.8功能,因为java 1.8中有一些功能目前还不受支持。使用JDK 1.8是可以的,除了Android Studio可能经常为您提供运行时检查,以建议您使用JDK 1.8的功能外,没有什么会困扰您拉姆达。但是,您可以转到设置->编辑器->检查->Java语言级别问题/迁移帮助,然后关闭所需的内容。在Java更新到1.8之后,我开始出现此错误 错误:任务“:app:processDebugResources”的执行失败 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:process'command'C:\Users\whatever\AppData\Local\android\sdk\build tools\23.0.1\aapt.exe''以非零退出值1完成
您现在可以将java8与android一起使用 在build.gradle文件中添加此行
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
请参阅本文件
确保使用以下工具启用千斤顶:
android {
//...
defaultConfig {
//...
// Required to use Java 8.
jackOptions {
enabled true
}
}
此外,您需要使用24版或更高版本的Android SDK构建工具:
android {
//...
buildToolsVersion "25.0.2"
}
实际上,当你试图用Java8构建Android Studio项目时,你会遇到各种疯狂的Gradle错误,比如 2016-04-10 17:50:49401[1624477]警告-nal.AbstractExternalSystemTask-Gradle 2.10需要Java 6或更高版本才能运行。您的构建当前配置为使用Java 5。 com.intellij.openapi.externalSystem.model.ExternalSystemException:Gradle 2.10需要Java 6或更高版本才能运行。您的构建当前配置为使用Java 5
一旦我将默认的JDK切换到Java7,它就可以正常工作。看起来可以使用Java SE 8运行Android Studio本身,但通过Gradle使用它构建Android应用程序只适用于Java 7。如果您以前使用过Android Studio 3.0.0中不推荐的JACK选项,迁移和使用支持的Java 8语言功能将非常简单,只需删除: jackOptions{enabled true} 从应用程序的build.gradle文件中,按如下方式保留配置:
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
有关详细信息,请访问链接。我这里只有Java 8和Android Studio。到目前为止没有问题。但不要(在开发Android应用程序时)使用Java8的Lambda功能。它还不能工作。例如,我不相信Android Studio支持java.time。如果我用非零退出值1完成这项工作,我总是去构建和(清理项目)。始终为我解决问题。感谢您的回复,但这并没有帮助我最终不得不回到java 1.7。您现在不仅可以使用java8,而且API 24(牛轧糖)或NewerJack需要它。选项已被弃用。请参阅:@JoshPinter您可以使用jdk8,但是,除非您的android应用程序针对sdk23及更高版本,否则没有必要使用jdk8。如果启用“Jack and Jill”,则可以使用Java8,但正如我所说,这要求最低目标为23.0。我走了这条路,遇到了杰克和吉尔的问题,导致我的应用程序崩溃。不得不增加堆大小和其他一些事情。这显然是不值得的@Josh Pinter如果您想使用更现代的东西,我建议您使用Kotlin编写应用程序。它100%完全可与Java互操作,并为您提供了类似lambdas的东西,使编写应用程序成为一种更愉快的体验。语言本身比Java更像Swift,JetBrains根据我的理解使用它来构建IDE。非常稳定。很好,谢谢你的提示。我读了很多关于科特林的书,也看了很多关于科特林的书。这些天我大部分时间都在用React Native进行开发,但如果最终做了大量的Native工作,我会看看它。