Erreur: compileSdkVersion android-21 nécessite la compilation avec JDK 7


106

Lors de la compilation, j'obtiens l'erreur Error:compileSdkVersion android-21 requires compiling with JDK 7, indiquant qu'une version plus récente de JDK est requise.

J'utilise OS X Yosemite avec Android Studio v0.8.14

Choses que j'ai vérifiées:

  1. Version Java:

java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

  1. Dans le dossier JavaVirtualMachine, je ne vois que le 1.6.0.jdkdossier, je ne trouve aucun autre dossier.

  2. J'ai essayé de réinstaller JDk 8 et 7!

Je ne parviens pas à trouver l'emplacement du dossier de jvm 1.8, aucune idée de la façon dont je peux y remédier.


J'ai le même problème. Avez-vous trouvé une solution à cela?
gsueagle2008

@EricCumbee L'utilisation de Jdk 7 comme indiqué ci-dessous a résolu le problème.
Arjun Komath

4
Il est absurde que ce soit la première expérience.
Andy

Réponses:


224

Le correctif exact pour ce problème (utilisateurs d'Android Studio sur Mac)

Si vous avez déjà effectué une mise à niveau vers Java 8, veuillez noter que l'emplacement du JDK est maintenant à l'intérieur /Library/Javapar rapport à l'emplacement de Java 6 /System/Library/Java. Donc , pour résoudre ce problème, cliquez droit sur le Project folder> Project Structure>SDK Location.

Puis changez l'emplacement JDK en

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

Si vous avez installé une autre version de JDK (autre que Java 8), recherchez d'abord le chemin à l'aide du java_homescript et utilisez la sortie. Courez,

/usr/libexec/java_home 

10
Merci @Subin pour Android studio 1.0.1 Emplacement du SDK situé dans File > Project Structureou simplement frappéCommand + ;
Husam

1
Réponse parfaite pour les utilisateurs d'Android Studio .. m'a sauvé
reidisaki

le chemin mentionné ci-dessous a fonctionné pour moi /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
Teja Swaroop

2
J'ai sérieusement continué à regarder mon emplacement et à penser que tout allait bien, mais j'ai continué à voir jdk1.6 jusqu'à ce que je réalise ce que vous vouliez dire pour vous assurer que vous êtes dans / Library / Java au lieu de / System / Library / Java où j'ai facilement trouvé le jdk1. 8 pour accéder à Contents / Home et boom, maintenant Android Studio fonctionne sans erreurs constantes. Tu es un saint!
ColossalChris

1
Cela fonctionne aussi pour Windows! Pointez simplement sur l'installation JDK. Exemple:C:\Program Files\Java\jdk1.8.0_51
ADTC

29

En fait, je viens de trouver la solution - JDK 7 est dans /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

cela a fonctionné pour moi. Oracle Docs sur l'emplacement d'installation de JDK7


2
Je ne peux pas voir ce dossier! le mien 1.6.0.jdk
n'affiche

Je ne me souviens pas où Android Studio cherchait initialement mais le dossier 1.7 JDK n'était pas dans la même arborescence de répertoires que 1.6.0jdk.
gsueagle2008

6
@Arjun a la même confusion que la vôtre. Mais ensuite, je viens de réaliser que le répertoire "Java" de JDK 7 est en fait situé au /Library/Javalieu d'être /System/Library/Javaséparé de mon JDK 6
akhy

Donc, en clair, qu'avez-vous fait pour résoudre le problème?
JGallardo

{ROOT} /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
gsueagle2008

10

J'ai une solution. Cela m'est arrivé aussi et j'ai beaucoup cherché sur Google, mais je n'ai eu que des indices. Beaucoup d'indices. Et j'ai trouvé une solution sûre.

Cela est dû au fait que JDK 7 (ou supérieur) n'est pas installé sur l'ordinateur. Le répertoire JDK dans AS / Configuration peut pointer vers JDK6. (Ce système / bibliothèque / ...)

Tout ce que vous avez à faire est:

  1. Téléchargez le dernier JDK.
  2. Installez-le.
  3. Pointez Android Studio / Configure / Project Defaults / Project Structure / (JDK Location:) vers / Library / Java / JavaVirtualMachines / jdk1.8.0_25.jdk / Contents / Home

Le texte surligné en gras et italiques peut différer, il est donc recommandé de le parcourir. J'espère que cela t'aides. J'ai passé une journée entière à jouer avec Gradle, Android Studio. Bon codage.


7

J'ai trouvé que les réponses d'Eric et Subin combinées résolvaient mon problème:

c'est-à-dire que vous devez définir le JDK java sur la réponse d'Eric (en supposant que vous utilisez JDK 7):

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

L'erreur que j'ai faite est que j'ai essayé de sélectionner simplement le répertoire jdk1.7.0_71.jdk et j'ai continué à recevoir le message d'erreur "Veuillez choisir un répertoire JDK valide".

Je travaillais sur le format précédemment utilisé pour JDK 6 :( - Cela a fonctionné quand je lui ai donné le chemin complet vers Contents / Home.

La réponse de Subin vous indique comment trouver votre emplacement JDK qui peut être différent en fonction de ce que vous essayez de faire.

Merci Eric et Subin!


3

Je partage cela parce que je veux aider ceux qui ont trouvé cette question lorsqu'ils ont recherché l'erreur sur Google. La plupart des autres «réponses» sur Internet prenaient beaucoup de temps. Suivez ci-dessous avant de perdre autant de temps que moi.


Ce que j'ai fait, c'est de télécharger le JDK 7

Puis changez le réglage du jdk en 1.7.0

entrez la description de l'image ici


3

J'ai aussi eu ce problème. Jusqu'à présent, je ne peux pas trouver de solution pour cela, j'ai donc eu recours à la modification de la version maximale du SDK à 20, qui fonctionne avec JDK6.

En ce qui concerne l'emplacement du fichier, au lieu du studio Android en supposant qu'il devrait être dans / System / Library / Java / JavaVirtualMachines / Insérer la version JDK / Contents / Home.

En réalité, mon JDK est installé dans / Library / Java / JavaVirtualMachines / JDK Version ici / Contents / Home.

Essayer de sélectionner un JDK dans le répertoire réel où il est installé fait dire à android studio que je dois sélectionner un emplacement JDK valide. Pour l'instant, je ne trouve pas de correctif, donc comme je l'ai dit ci-dessus, j'ai eu recours à la modification de la version maximale du SDK à 20 au lieu de 21 et cela restera ainsi jusqu'à ce que plus de personnes souffrent du bogue afin que Google le corrige. Ou jusqu'à ce qu'un correctif réel soit mis en ligne au lieu de 101 façons pour que cela ne fonctionne pas.

J'espère que cela aide pour l'instant, ce n'est pas vraiment une solution / réponse, mais c'est un travail qui fonctionne pour moi, pour le moment.


0

si vous n'avez que le dossier 1.6.0.jdk, allez sur ce lien et téléchargez et installez jdk 1.7. puis trouvez votre dossier java dans ce chemin

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home

0

Les solutions sur ce fil ne sont pas valables pour la même erreur dans Android Studio 1.4. Le menu des préférences, par exemple, a disparu. Vous trouverez ci-dessous la solution pour Android Studio 1.4 fonctionnant sous Ubuntu 14.04.

Pour résoudre dans Ubuntu 14.04+ et Android Studio 1.4+, vous devez aller à

Fichier -> Autres paramètres -> Paramètres par défaut -> Construction, exécution, déploiement -> Compilateur -> Compilateur Java -> Version du code d'octet du projet

Cette liste déroulante sera vide par défaut.

Réglez sur votre JDK préféré, dans le cas de la capture d'écran ci-dessous, 1.8.

screencap android sdk

Voila, votre projet se compilera.


0
  1. Téléchargez ici le dernier JDK.
  2. Ouvrez l'outil de ligne de commande.
  3. Copiez et collez la ligne suivante dans votre outil de ligne de commande et appuyez sur retour.

/ usr / libexec / java_home

  1. Copiez la sortie de cette commande.
  2. Revenez à votre projet Android et naviguez comme ci-dessous

Fichier -> Structure du projet -> Emplacement JDK

éditez (cliquez sur le carré avec trois points) l'emplacement JDK (2ème dans l'image) et collez-y la sortie de l'outil de ligne de commande.

entrez la description de l'image ici J'ai rassemblé ces instructions à l'aide de MacBook Pro.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.