'android-24'需要JDK 1.8或更高版本才能编译

我使用Android Studio,最近得到错误:

错误:任务':app:compileDebugJavaWithJavac'的执行失败。 compileSdkVersion'android-24'需要JDK 1.8或更高版本才能编译。

但我已经安装了JDK 1.8:

:\ Users ..> java -version
java版本“1.8.0_91”Java(TM)SE Runtime
环境(构build1.8.0_91-b15)Java HotSpot(TM)64位服务器虚拟机
(build 25.91-b15,混合模式)

如何解决它? 谢谢

在Android Studio中打开:
File > Project Structure >查看JDK位置是否指向您的JDK 1.8目录。

注意:你可以使用compileSdkVersion 24

我有几天的同样的问题。 我在Windows上find了一个解决scheme。 (我也设置了环境variables,但是不知道是否需要。)

将这些行添加到build.gradle文件中:

 android { ... defaultConfig { ... jackOptions { enabled true } } compileOptions { targetCompatibility 1.8 sourceCompatibility 1.8 } } 

来源: https : //code.google.com/p/android/issues/detail?id = 203850

我安装了最新的JDK,但它使用的是较旧的,直到我这样做:

 app rt-click >> module settings >> sdk location >> (old jdk path) 

用新的jdkpathreplace旧的JDKpath。

就像现在的魅力:)

只是一个意外,我有一个离子项目这个错误。 所有的命令都回来了,指向正确的JDK和JAVA_HOME被正确设置。

在我的PATH中有一个条目用于JDK 1.7 \ bin,用1.8 \ bin替代了我。

我也在我的Mac上从命令行遇到同样的问题,但答案是, JAVA_HOME被覆盖。 要追踪它被重写的位置,首先从命令行检查java:

 $ java -version java version "1.8.0_92" Java(TM) SE Runtime Environment (build 1.8.0_92-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode) 

然后检查Gradle正在使用哪个版本的Java:

 $ gradle -version ------------------------------------------------------------ Gradle 2.13 ------------------------------------------------------------ Build time: 2016-04-25 04:10:10 UTC Build number: none Revision: 3b427b1481e46232107303c90be7b05079b05b1c Groovy: 2.4.4 Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015 JVM: 1.8.0_92 (Oracle Corporation 25.92-b14) OS: Mac OS X 10.11.5 x86_64 

在这一点上,我还没有find问题的根源。 做了一点挖掘,发现它确实在我的gradle.properties文件中被覆盖,即使它在执行gradle -version时显示了Java 8:

 org.gradle.daemon=true org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:-UseSplitVerifier -Xms512m -Xmx6144m 

为了解决,我刚从gradle.properties删除了java.home行。 希望这有助于其他人从命令行遇到同样的问题。

在Android Studio中打开:文件>项目结构> SDK位置>selectjdk1.8.0_101.jdk>首页

我也遇到了同样的问题,从我的Windows上的命令行,它显示了相同的提示。

 Error:Execution failed for task ':app:compileDebugJavaWithJavac'. `compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.` 

在“ Project Structure检查JDK location

在Android Studio中打开: File > Project Structure >查看JDK位置是否指向您的JDK 1.8目录。

它应该看起来像

 JDK Location C:\Program Files\Java\jdk1.8.0_91 

我已经将正确的位置设置为JDK。

检查Java版本

 D:\AndroidSelfTrainingProject\CustomBuildIdDemo>java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) 

检查gradle版本

 .D:\AndroidSelfTrainingProject\CustomBuildIdDemo>gradle -v ------------------------------------------------------------ Gradle 2.10 ------------------------------------------------------------ Build time: 2015-12-21 21:15:04 UTC Build number: none Revision: 276bdcded730f53aa8c11b479986aafa58e124a6 Groovy: 2.4.4 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 JVM: 1.7.0_79 (Oracle Corporation 24.79-b02) OS: Windows 7 6.1 amd64 

JVM版本应该是1.8。 为了解决这个问题,我们可以在gradle.properties中添加在你的HOME_DIRECTORY.gradle目录下的HOME_DIRECTORY设置org.gradle.java.home=/path_to_jdk_directory 。 对我来说,就像是:

 org.gradle.java.home=C:/Program Files/Java/jdk1.8.0_91 

要validation它是否设置正确,我们可以做一个gradle build任务。

 D:\AndroidSelfTrainingProject\CustomBuildIdDemo>gradle build To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon : https://docs.gradle.org/2.10/userguide/gradle_daemon.html. To run dex in process, the Gradle daemon needs a larger heap. It currently has approximately 910 MB. For faster builds, increase the maximum heap size for the Gradle daemon to more than 2048 MB. To do this set org.gradle.jvmargs=-Xmx2048M in the project gradle.properties. For more information see https://docs.gradle.org/current/userguide/build_environment.html 

在Windows 10上,我首先检查了项目结构,它指向一个旧的1.7 jdk。 我closures了Android Studio,然后重命名旧的JDK(和JRE库的一致性),留下最新的1.8库单独。 当我重新启动Android Studio并尝试构build应用程序时,它向我请求了Java JDK库,并且给出了最新的1.8 JDK库的path。 在我的系统上是C:\ Program Files \ Java \ jdk1.8.0_112。