Wie stelle ich das JDK für Android Studio ein?

42

Ich kann kein neues Standardprojekt für Android 2.1 kompilieren, da (?) Das von Android Studio verwendete JDK JDK 1.7 ist, es jedoch JDK 1.6 sein sollte.

Um es zu ändern, gehe ich zu Datei -> Projektstruktur und versuche, den JDK 1.6-Speicherort zu finden.

Aber wenn ich das Verzeichnis auswähle und drücke, OKbekomme ich folgende Fehlermeldung:

Bitte wählen Sie ein gültiges JDK-Verzeichnis

Bitte wählen Sie ein gültiges JDK-Verzeichnis

Wie Sie auf dem Screenshot sehen können, versuche ich, Java 6 OpenJDK 64-Bit als neues JDK festzulegen.

Was kann ich machen? Ist Android Studio nicht mit OpenJDK kompatibel und sollte ich stattdessen Oracle JDK verwenden?

Lucio
quelle
Hast du den binOrdner ausprobiert ?
Louis Matthijssen
Ich habe es versucht mit: ./bin| ./jre| ./jre/bingleiche Botschaft für alle
Lucio
1
Für mich musste ich nur den obigen Ordner /jrein der Verzeichnisstruktur verwenden, also ist mein Pfad /usr/lib/jvm/java-8-oracleund nicht /usr/lib/jvm/java-8-oracle/jre. Ich bin davon ausgegangen, dass der Pfad auf enden sollte, /jreda dies der Standardpfad (das "eingebettete" JDK) tut, aber es stellt sich heraus, dass es sich um einen Ordner mit dem Namen "jre" handelt, der einen anderen Ordner mit dem Namen "jre" enthält .
Jack M

Antworten:

24

Ich verwende OpenJDK 7 mit Android Studio und es funktioniert einwandfrei. (Ich habe noch nicht einmal Oracle JDK installiert.)

Auf diesem Bildschirm , dass Sie zeigen (Projektstruktur -> SKD Ort) Ich habe den folgenden Pfad für die JDK Lage : /usr/lib/jvm/java-1.7.0-openjdk-amd64.

Daniel
quelle
8

Durch die Überprüfung studio.shkönnen Sie auch eine oder mehrere Umgebungsvariablen festlegen STUDIO_JDK, die auf den JDK-Speicherort verweisen.JDK_HOMEJAVA_HOME


studio.shprüft die STUDIO_JDK, JDK_HOMEund JAVA_HOMEUmgebungsvariablen in der Reihenfolge:

if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
elif [ -n "$JDK_HOME" -a -x "$JDK_HOME/bin/java" ]; then
  JDK="$JDK_HOME"
elif [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
  JDK="$JAVA_HOME"

Sie können sie also einfach entsprechend einstellen und Studio übernimmt sie.

Nuno
quelle
Dies funktioniert auch für Windows. nützlich, wenn Sie ein JDK mit DCEVM als Standard in JAVA_HOME haben, das mit Android Studio nicht funktioniert.
Mateus Viccari
5

Es scheint, dass Android Studio OpenJDK nicht erkennt, daher muss ich OracleJDK installieren .

Dann wähle ich den Pfad zu Oracle JDK und es hat funktioniert!

Lucio
quelle
Ich habe es installiert, aber ich kann seine Pfadvariable nicht setzen. Kannst du mir bitte sagen, wie ich das machen kann?
Nitesh Verma
1
Ja, stellen Sie zuerst sicher, dass java -versionIhre Java-Version korrekt ausgegeben wird . Wählen Sie dann im AS-Fenster /usr/lib/jvm/jdk1.8.0/. Das hat mir in diesem Moment gereicht :-)
Lucio
3

Das hat bei mir funktioniert:

  1. Finden Sie das Java-Verzeichnis heraus:

    $ echo $JAVA_HOME
    /usr/lib/jvm/java-7-oracle
  2. Öffnen Sie Android Studio und dann Datei-> Projektstruktur.

  3. Unter SDK Location habe ich das Java-Verzeichnis von oben übergangen
  4. Warten Sie ein paar Sekunden und ich habe "0 errores 0 advertencias"

Es funktionierte! :)

canorios
quelle
2

Schritte, denen ich gefolgt bin:

  1. Terminal geöffnet und betreten echo $JAVA_HOME

  2. Kopiert den im Terminal angezeigten Pfad - Ctrl+ Shift+ Ckopiert im Ubuntu-Terminal

  3. In Android Studio - Projektstruktur - Kopierten Pfad einfügen

  4. Wartet, bis die Software die Einstellungen erkennt und aktualisiert

  5. Dies löste das Problem der ungültigen Jdk-Einstellungen

anand24
quelle
1

Wenn Sie einen ./binOrdner mit einem JDK und Android Studio haben, können Sie die STUDIO_JDKVariable vor der Ausführung studio.shin einem Terminal festlegen :

STUDIO_JDK=./bin/jdk/ ./bin/android-studio/bin/studio.sh
antoineMoPa
quelle
0

Ich habe dieses Problem behoben. Ich verwende AS 2.1 und JDK1.7, während ich JDK1.8 für einige Funktionen aktualisieren musste. Ich lade die Java-Setup-Datei herunter. Vielleicht habe ich nur jre aber nicht jdk installiert. So warnen Sie mich immer, dass "Bitte wählen Sie ein gültiges JDK-Verzeichnis". Ich vermute also, das Problem des Fragestellers ist dasselbe wie bei mir, dass Sie ein JDK installieren sollten, aber nicht jre.

Songtao Lou
quelle
0

Ich denke, dass Sie den JDK vielleicht woanders installiert haben, z /usr/local/java. In meinem Fall habe ich auch den gleichen Ordnernamen in dem in Ihrem Screenshot gezeigten Verzeichnis gesehen.

Also einfach nachsehen, ob das jdk woanders vorhanden ist.

Udayraj Deshmukh
quelle