Erreur: compileSdkVersion android- 21 exige la compilation avec JDK 7

? Arjun @ | Original: StackOverFlow

Lors de la compilation je obtiens l'erreur «____», en disant que la nouvelle version de JDK est requise .

Je fonctionnant sur OS X Yosemite avec Android Studio v0.8.14

Les choses que je ai vérifié :

Java version :

Error:compileSdkVersion android-21 requires compiling with JDK 7

Dans le dossier JavaVirtualMachine je peux voir dossier uniquement 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), je ne peux pas trouver un autre dossier .

Essayé de réinstaller JDK 8 et 7 !

Je suis incapable de trouver l'emplacement du dossier de JVM 1.8, une idée de comment je peux y fixer .



Top 5 Respuesta

1Eric Cumbee @

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

qu'il a obtenu de travailler pour moi .  http://www.oracle.com/technetwork/java/javase/downloads/jdk-7-netbeans-install-433844.html#uninstallmac



2JGallardo @

Je partage ce parce que je veux aider ceux que l'on trouve cette question quand ils googlé l'erreur . La plupart des autres «réponses» sur internet étaient très coûteuse en temps . Suivez ci-dessous avant de vous perdre autant de temps comme je le faisais .

Ce que je ai faite a été de télécharger http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Puis modifiez le paramètre de la JDK 1.6.0.jdk

Erreur: compileSdkVersion android- 21 exige la compilation avec JDK 7

3Leccles1 @

Je ai eu ce problème aussi. Jusqu'à présent, je ne peux pas trouver une solution pour elle, donc je ai eu recours à l'évolution de la version de SDK maximale à 20, qui travaille avec JDK6 .

Quant à l'emplacement du fichier, au lieu de studios Android supposant qu'il devrait être dans / System / Library / Java / JavaVirtualMachines / Insérer la version JDK / Contents / Accueil .

En réalité mon JDK est installé dans / Bibliothèque / Java / JavaVirtualMachines / JDK version ici / Contents / Accueil .

Essayer de sélectionner un JDK dans le répertoire réel où son atelier installé rend android dire que je ai besoin pour sélectionner un emplacement JDK valide. Pour l'instant je ne peux pas trouver une solution, donc comme je le disais plus haut, je ai eu recours à l'évolution de la version maximale de SDK à 20 au lieu de 21 et il va rester comme ça jusqu'à ce que plus de personnes souffrent soit de la bogue de sorte que Google fixer . Ou jusqu'à ce qu'une solution réelle se affiché en ligne au lieu de 101 façons pour elle de ne pas travailler .

Espérons que cette aide pour l'instant, il ne est pas vraiment une solution / réponse, mais ce est un travail autour de cela fonctionne pour moi, pour le moment .

4Subin Sebastian @

Le Fix Exact ce numéro ( utilisateurs Android Studio sur Mac )

Si vous avez déjà mis à niveau vers Java 8, se il vous plaît noter que l'emplacement JDK est désormais à 1.7.0 par rapport à l'emplacement de Java 6 /Library/Java . Donc, pour résoudre ce problème, cliquez droit sur le dossier de projet > Structure du projet > Lieu SDK .

Puis changer d'emplacement JDK

/System/Library/Java

Pour trouver l'emplacement JDK par défaut, exécutez le /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home Script

java_home
5user2155964 @

Je ai trouvé Eric et les réponses de Subin combinés résolu mon problème:

ie besoin pour régler le JDK java à 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 je ai faite a été je ai essayé de vous suffit de sélectionner le répertoire de jdk1.7.0_71.jdk et je ai continué à faire passer le message d'erreur " Se il vous plaît choisir un répertoire JDK valide" .

Je travaillais sur le format utilisé précédemment pour JDK 6 :( - Il a travaillé quand je lui ai donné le chemin complet vers le bas pour en matières / Accueil .

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

Merci Eric et Subin !