web-dev-qa-db-fra.com

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

J'utilise Android Studio et j'ai récemment eu l'erreur:

Erreur: L'exécution a échoué pour la tâche ': app: compileDebugJavaWithJavac'. compileSdkVersion 'Android-24' nécessite JDK 1.8 ou une version ultérieure pour compiler.

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

:\Utilisateurs ..> Java -version
Version Java "1.8.0_91" Java Runtime SE (TM)
Environnement (version 1.8.0_91-b15) Java Machine virtuelle de serveur HotSpot (TM) 64 bits
(version 25.91-b15, mode mixte)

Comment le réparer? Merci

77
T D Nguyen

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

Note: vous pouvez utiliser compileSdkVersion 24

179
Juan Cruz Soler

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=20385

9
Szelk Baltazár

Juste un FYI j'ai eu cette erreur avec un projet Ionic. Toutes les commandes renvoyaient au bon JDK et Java_HOME était correctement défini.

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

2
Stevo

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

2
Pawan

Dans Android Studio ouvert: Fichier> Structure du projet> Emplacement du SDK> Sélectionnez jdk1.8.0_101.jdk> Accueil

0
Mihir Vaghela

Je rencontrais également le même problème depuis la ligne de commande sur mon Mac, mais la réponse était que Java_HOME était en train d'être remplacé. Pour savoir en premier lieu où il est remplacé, vérifiez 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érifiez quelle version de Java que Gradle utilise:

$ 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 toujours pas trouvé la source du problème. J'ai creusé un peu et constaté qu'il était effectivement surchargé dans mon fichier gradle.properties alors qu'il affichait Java 8 lorsque j'exécutais 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 résoudre ce problème, je viens de supprimer la ligne Java.home de gradle.properties. J'espère que cela aidera si quelqu'un d'autre rencontre le même problème depuis la ligne de commande.

0
Bradford2000

Sur Windows 10, j’ai d’abord vérifié la structure du projet et cela indiquait un ancien 1.7 jdk. J'ai fermé Android Studio, puis j'ai renommé les anciennes bibliothèques jdks (et les bibliothèques jre par souci de cohérence), laissant ainsi la dernière bibliothèque 1.8. Lorsque j'ai redémarré Android Studio et que j'ai tenté de créer l'application, il m'a demandé la bibliothèque JDK Java et j'ai indiqué le chemin d'accès à la plus récente bibliothèque JDK 1.8. Sur mon système, il s’agissait de C:\Program Files\Java\jdk1.8.0_112.

0
scvblwxq

Je courais également dans le même problème à partir de la ligne de commande sur Windows, il affiche le même indice.

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

vérifiez JDK location dans Project Structure.

Dans Android Studio ouvert: File> Project Structure>, vérifiez si l'emplacement du JDK pointe sur votre répertoire JDK 1.8.

Il devrait ressembler à

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

J'ai déjà défini le bon emplacement sur JDK.

vérifier la version 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)

vérifier la version 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

La version de la machine virtuelle Java devrait être 1.8. Pour résoudre ce problème, nous pouvons ajouter gradle.property dans gradle.properties dans le répertoire .gradle de votre HOME_DIRECTORY set org.gradle.Java.home=/path_to_jdk_directory. Quant à moi, c'est comme:

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

Pour vérifier si elle est définie correctement, nous pouvons créer une tâche 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
0
Francis Bacon