我刚刚从我之前的JDK 1.8.0_33下载了JDK 1.8.0_51,因为我遇到了问题。有一些使用Jdk 8与Android的解决方法,我只是想知道Google已经在Android工作室中添加了对JDK的全面支持吗?或者我应该只使用JDK 1.7?建议将受到高度赞赏。
答案 0 :(得分:15)
你现在可以使用java8和android
在build.gradle文件中添加以下行
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
参考此文档http://developer.android.com/intl/es/preview/j8-jack.html
确保以下方式启用Jack:
android {
//...
defaultConfig {
//...
// Required to use Java 8.
jackOptions {
enabled true
}
}
此外,您需要使用Android SDK构建工具的24或更高版本:
android {
//...
buildToolsVersion "25.0.2"
}
答案 1 :(得分:10)
您应该只使用JDK 1.7。 JDK 8中有一些功能尚不支持。
答案 2 :(得分:6)
使用JDK 1.8是可以的,除了Android Studio可能经常提供运行时检查,建议您使用JDK 1.8的功能,如lambda,没有什么会打扰你。但您可以转到设置 - >编辑 - >检查 - > Java语言级别问题/迁移辅助工具并关闭所需内容。
答案 3 :(得分:5)
您可以使用java 1.8但不要使用1.8功能,因为Java 1.8中有一些功能现在不受支持。
答案 4 :(得分:3)
如果您之前使用的是从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
}
}
有关详细信息,请点击this链接。
答案 5 :(得分:2)
使用Java 1.7或Java 1.6 我自己使用Android 4和Java 7时遇到了问题,因此我使用了1.6并且所有问题都已消失。
我认为使用1.7而不是1.8
会减少问题答案 6 :(得分:0)
我在java更新到1.8后开始出现此错误
错误:任务':app:processDebugResources'执行失败。
com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:处理'命令'C:\ Users \ whatever \ AppData \ Local \ Android \ sdk \ build-tools \ 23.0。 1 \ aapt.exe''以非零退出值1结束
答案 7 :(得分:0)
实际上,当您尝试使用Java 8构建Android Studio项目时,会遇到各种疯狂的Gradle错误,例如
2016-04-10 17:50:49,401 [1624477] WARN - nal.AbstractExternalSystemTask - Gradle 2.10需要运行Java 6或更高版本。您的构建当前配置为使用Java 5。 com.intellij.openapi.externalSystem.model.ExternalSystemException:Gradle 2.10需要运行Java 6或更高版本。您的构建当前已配置为使用Java 5.
一旦我将默认的JDK切换到Java 7,它就可以正常工作。看起来可以容忍使用Java SE 8运行Android Studio,但是通过Gradle构建Android应用程序只适用于Java 7。