Fehler: compileSdkVersion android-21 erfordert das Kompilieren mit JDK 7

106

Beim Kompilieren erhalte ich den Fehler Error:compileSdkVersion android-21 requires compiling with JDK 7, dass eine neuere Version von JDK erforderlich ist.

Ich verwende OS X Yosemite mit Android Studio v0.8.14

Dinge, die ich überprüft habe:

  1. Java-Version:

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. Im JavaVirtualMachine-Ordner kann ich nur 1.6.0.jdkOrdner sehen, ich kann keinen anderen Ordner finden.

  2. Versucht, JDk 8 und 7 neu zu installieren!

Ich kann den Ordner von jvm 1.8 nicht finden, keine Ahnung, wie ich das beheben kann.

Arjun Komath
quelle
Ich habe das gleiche Problem. Haben Sie eine Lösung dafür gefunden?
gsueagle2008
@EricCumbee Mit Jdk 7 (siehe unten) wurde das Problem behoben.
Arjun Komath
4
Es ist absurd, dass dies die erste Erfahrung ist.
Andy

Antworten:

224

Die genaue Lösung für dieses Problem (Android Studio-Benutzer auf Mac)

Wenn Sie bereits ein Upgrade auf Java 8 durchgeführt haben, beachten Sie, dass sich der JDK-Speicherort jetzt im /Library/JavaVergleich zum Speicherort von Java 6 befindet /System/Library/Java. Also , dieses Problem zu beheben, Rechtsklick auf dem Project folder> Project Structure>SDK Location.

Ändern Sie dann den JDK-Speicherort in

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

Wenn Sie eine andere JDK-Version (außer Java 8) installiert haben, ermitteln Sie den Pfad zuerst mithilfe des java_homeSkripts und verwenden Sie die Ausgabe. Renn einfach,

/usr/libexec/java_home 
Subin Sebastian
quelle
10
Danke @Subin für Android Studio 1.0.1 SDK Ort in File > Project Structureoder einfach getroffenCommand + ;
Husam
1
Perfekte Antwort für Benutzer von Android Studio .. rettete mich
reidisaki
Der unten angegebene Pfad hat für mich funktioniert /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
Teja Swaroop
2
Ich schaute ernsthaft auf meinen Standort und dachte, dass es in Ordnung sei, sah aber immer wieder jdk1.6, bis mir klar wurde, was Sie damit meinten, dass Sie sich in / Library / Java statt in / System / Library / Java befinden, wo ich das jdk1 leicht fand. 8 um zu Contents / Home und Boom zu gelangen, funktioniert Android Studio jetzt ohne ständige Fehler. Du bist ein Heiliger!
ColossalChris
1
Dies funktioniert auch für Windows! Zeigen Sie einfach auf die JDK-Installation. Beispiel:C:\Program Files\Java\jdk1.8.0_51
ADTC
29

Eigentlich habe ich gerade die Lösung gefunden - JDK 7 befindet sich in /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home.

das hat es für mich zum Laufen gebracht. Oracle Docs, auf dem JDK7 installiert ist

gsueagle2008
quelle
2
Ich kann diesen Ordner nicht sehen! meins zeigt nur diesen Ordner1.6.0.jdk
Arjun Komath
Ich kann mich nicht erinnern, wo Android Studio ursprünglich gesucht hat, aber der 1.7 JDK-Ordner befand sich nicht im selben Verzeichnisbaum wie 1.6.0jdk.
gsueagle2008
6
@Arjun hat die gleiche Verwirrung wie deine. Aber dann wurde mir gerade klar, dass sich das "Java" /Library/Java/System/Library/Java
-Verzeichnis
Was haben Sie im Klartext getan, um das Problem zu beheben?
JGallardo
{ROOT} /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/
gsueagle2008
10

Ich habe eine Lösung. Es passierte auch bei mir und ich suchte viel bei Google, aber alles, was ich bekam, waren Hinweise. Viele Hinweise. Und ich habe eine sichere Lösung gefunden.

Dies liegt daran, dass auf dem Computer JDK 7 (oder höher) nicht installiert ist. Das JDK-Verzeichnis in AS / Configuration verweist möglicherweise auf JDK6. (Das System / Bibliothek / ...)

Alles was Sie tun müssen ist:

  1. Laden Sie das neueste JDK herunter.
  2. Es installieren.
  3. Zeigen Sie auf Android Studio / Konfigurieren / Projektstandards / Projektstruktur / (JDK-Speicherort :) auf / Library / Java / JavaVirtualMachines / jdk1.8.0_25.jdk / Contents / Home

Fett kursiv hervorgehobener Text kann abweichen. Es wird daher empfohlen, ihn zu durchsuchen. Hoffe das hilft. Verbrachte einen ganzen Tag mit Gradle, Android Studio. Viel Spaß beim Codieren.

TheOnlyAnil
quelle
7

Ich fand, dass die Antworten von Eric und Subin zusammen mein Problem lösten:

dh Sie müssen das Java-JDK auf Erics Antwort einstellen (vorausgesetzt, Sie verwenden JDK 7):

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

Der Fehler, den ich gemacht habe, war, dass ich versucht habe, nur das Verzeichnis jdk1.7.0_71.jdk auszuwählen, und immer wieder die Fehlermeldung "Bitte wählen Sie ein gültiges JDK-Verzeichnis aus" erhalten habe.

Ich habe an dem Format gearbeitet, das zuvor für JDK 6 verwendet wurde :( - Es hat funktioniert, als ich ihm den vollständigen Pfad zu Contents / Home gegeben habe.

In der Antwort von Subin erfahren Sie, wie Sie Ihren JDK-Speicherort finden, der je nach dem, was Sie tun möchten, unterschiedlich sein kann.

Danke Eric und Subin!

user2155964
quelle
3

Ich teile dies, weil ich denen helfen möchte, die diese Frage gefunden haben, als sie den Fehler gegoogelt haben. Die meisten anderen "Antworten" im Internet waren sehr zeitaufwändig. Folgen Sie unten, bevor Sie so viel Zeit verschwenden wie ich.


Ich habe JDK 7 heruntergeladen

Ändern Sie dann die Einstellung des JDK auf 1.7.0

Geben Sie hier die Bildbeschreibung ein

JGallardo
quelle
3

Ich habe auch dieses Problem gehabt. Bisher kann ich keine Lösung dafür finden, daher habe ich die maximale SDK-Version auf 20 geändert, was mit JDK6 funktioniert.

Der Dateispeicherort sollte anstelle von Android Studio in der Version / System / Library / Java / JavaVirtualMachines / Insert JDK vorliegen / Contents / Home .

In Wirklichkeit wird mein JDK in der / Library / Java / JavaVirtualMachines / JDK-Version hier installiert / Contents / Home .

Beim Versuch, ein JDK in dem tatsächlichen Verzeichnis auszuwählen, in dem es installiert ist, sagt Android Studio, dass ich einen gültigen JDK-Speicherort auswählen muss. Im Moment kann ich keine Lösung finden. Wie ich oben sagte, habe ich die maximale SDK-Version auf 20 anstatt auf 21 geändert. Dies wird so lange so bleiben, bis mehr Menschen unter dem Fehler leiden, sodass Google ihn behebt. Oder bis ein tatsächlicher Fix online gestellt wird, anstatt 101 Möglichkeiten, damit er nicht funktioniert.

Hoffe, das hilft vorerst, es ist nicht wirklich eine Lösung / Antwort, aber es ist eine Problemumgehung, die vorerst für mich funktioniert.

Leccles1
quelle
0

Wenn Sie nur den Ordner 1.6.0.jdk haben, gehen Sie zu diesem Link und laden Sie jdk 1.7 herunter und installieren Sie es. Suchen Sie dann Ihren Java-Ordner in diesem Pfad

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
Hash
quelle
0

Die Lösungen in diesem Thread sind für denselben Fehler in Android Studio 1.4 nicht gültig. Das Einstellungsmenü zum Beispiel ist weg. Unten finden Sie die Lösung für Android Studio 1.4 unter Ubuntu 14.04.

Um in Ubuntu 14.04+ und Android Studio 1.4+ zu lösen, müssen Sie zu gehen

Datei -> Andere Einstellungen -> Standardeinstellungen -> Erstellen, Ausführen, Bereitstellen -> Compiler -> Java-Compiler -> Projektbytecode-Version

Dieses Dropdown-Menü ist standardmäßig leer.

Stellen Sie im Fall der folgenden Bildschirmabdeckung Ihr bevorzugtes JDK ein: 1.8.

android sdk screencap

Voila, dein Projekt wird kompiliert.

Barnhillec
quelle
0
  1. Laden Sie hier das neueste JDK herunter .
  2. Öffnen Sie das Befehlszeilentool.
  3. Kopieren Sie die folgende Zeile, fügen Sie sie in Ihr Befehlszeilenprogramm ein und drücken Sie die Eingabetaste.

/ usr / libexec / java_home

  1. Kopieren Sie die Ausgabe dieses Befehls.
  2. Gehen Sie zurück zu Ihrem Android-Projekt und navigieren Sie wie folgt

Datei -> Projektstruktur -> JDK-Speicherort

Bearbeiten (klicken Sie auf ein Quadrat mit drei Punkten) JDK-Position (2. im Bild) und fügen Sie dort die Ausgabe des Befehlszeilen-Tools ein.

Geben Sie hier die Bildbeschreibung ein Ich habe diese Anweisungen mit dem MacBook Pro gesammelt.

user2511630
quelle