我安装了Android Studio,我同时拥有Jdk 1.7和1.8。当我执行应用程序时,它给了我一个错误,它需要与Jdk 1.8一起运行。我想文件>>项目结构并将jdk versio的路径更改为jdk 1.8但是当我单击OK时,gradle sync以jdk 1.7开始。现在,当我再次打开项目结构时,JDk版本再次重置为1.7。
我的JAVA_HOME
系统变量设置为jdk 1.8路径。我卸载了Android Studio并重新安装了它,但没有任何效果。
答案 0 :(得分:0)
在build.gradle中还包含compileOptions标记以强制JDK 1.8。
您还需要启用Jack编译器以利用Java 8功能。
android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
请参阅Google关于Android上可用的Java 8功能的页面:https://developer.android.com/preview/j8-jack.html
另外,请记住,使用Jack编译器在Java 8下不支持某些功能。其中最大的一个(至少对我而言)是带有注释处理器的Transform API。如果您或您喜欢的库使用Transform API,您可以禁用Jack,并使用库来获得一些Java 8功能,例如Retrolambda。
详情请见RetroLambda:https://github.com/evant/gradle-retrolambda