77 votes

'android-24' nécessite JDK 1.8 ou une version ultérieure pour compiler

J'utilise Android Studio et a récemment obtenu l'erreur:

Erreur:échec de l'Exécution de la tâche:app:compileDebugJavaWithJavac'. compileSdkVersion 'android-24' exige JDK 1.8 ou plus tard à la compilation.

Mais j'ai JDK 1.8 déjà installé:

:\Users..>java -version
java version "1.8.0_91" Java(TM) SE Runtime
De l'environnement (build 1.8.0_91-b15) Java HotSpot(TM) 64-Bit Server VM
(construire 25.91-b15, en mode mixte)

Comment résoudre ce problème? Merci

179voto

Juan Cruz Soler Points 6046

Dans Android Studio ouvert:
File > Project Structure > voir si l'emplacement du JDK pointe vers votre répertoire JDK 1.8.

Remarque: vous pouvez utiliser compileSdkVersion 24

9voto

Szelk Baltazár Points 238

J'ai le même problème depuis des jours. J'ai trouvé une solution qui a fonctionné de moi sur Windows. (J'ai également défini des variables d'environnement, mais je ne sais pas si c'est nécessaire.)

Ajoutez ces lignes au fichier build.gradle:

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

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

2voto

Stevo Points 66

Juste un FYI j'ai eu cette erreur avec un projet ionique. Toutes les commandes sont revenues en indiquant le bon JDK et JAVA_HOME a été correctement défini.

Il y avait une entrée dans mon PATH à JDK 1.7 \ bin, la remplaçant par la 1.8 \ bin corrigée pour moi.

2voto

Pawan Points 55

J'ai installé le dernier jdk mais il utilisait l'ancien jusqu'à ce que je fasse ceci:

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

Remplacez l'ancien chemin JDK par votre nouveau chemin jdk.

Ça fonctionne parfaitement maintenant :)

0voto

Bradford2000 Points 628

J'ai aussi été en cours d'exécution dans la même question à partir de la ligne de commande sur mon Mac, mais la réponse a été que, JAVA_HOME a été prise en substituée. Pour savoir où il est remplacé d'abord vérifier java à partir de la ligne de commande:

$ 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)

Puis vérifier la version de Java que Gradle est à l'aide de:

$ 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

À ce stade, je n'avais pas encore trouvé la source du problème. Fait un peu de creuser, et a constaté que en effet, il était remplacé dans mon gradle.properties le fichier, même si elle a été montrant Java 8 quand j'ai exécuté gradle -version:

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

Pour corriger, j'ai juste supprimé l' java.home ligne de gradle.properties. Espérons que cela aide si quelqu'un d'autre est en cours d'exécution dans la même question à partir de la ligne de commande.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X