Wie kann man Gradle anweisen, Java von einem anderen Ort aus zu verwenden?

9

Ich habe meine Test-App in Android Studio erstellt und dann im Ereignisprotokoll Folgendes angegeben:

Android Studio verwendet diesen JDK-Speicherort: C: \ Programme \ Android \ Android Studio \ jre, der sich von dem unterscheidet, den Gradle standardmäßig verwendet: C: \ Programme (x86) \ Java \ jdk1.8.0_181 Die Verwendung unterschiedlicher Speicherorte kann auftreten Mehrere Gradle-Daemons, wenn Gradle-Aufgaben unter Verwendung von Android Studio über die Befehlszeile ausgeführt werden.

Dann gab diese Optionen:

  1. Mehr Info...
  2. Stellen Sie Android Studio so ein, dass dasselbe JDK wie Gradle und Sync verwendet wird
  3. Diese Warnung nicht mehr anzeigen

Ich klickte auf:

Stellen Sie Android Studio so ein, dass dasselbe JDK wie Gradle und Sync verwendet wird

dann wollte meine app nicht mehr bauen.

Dies ist der Fehler:

Gradle-Synchronisierung fehlgeschlagen: Der Dämonprozess kann nicht gestartet werden.
Dieses Problem kann durch eine falsche Konfiguration des Dämons verursacht werden.

Beispielsweise wird eine nicht erkannte JVM-Option verwendet.
Weitere Informationen finden Sie im Kapitel Benutzerhandbuch zum Daemon unter https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html

Prozessbefehlszeile: C: \ Programme (x86) \ Java \ jdk1.8.0_181 \ bin \ java.exe -Xmx1536m -Dfile.encoding = windows-1252 -Duser.country = ZA -Duser.language = de -Duser. Variante -cp C: \ Benutzer \ {MyUserName} \. gradle \ wrapper \ dists \ gradle-5.4.1-all \ 3221gyojl5jsh0helicew7rwx \ gradle-5.4.1 \ lib \ gradle-launcher-5.4.1.jar org.gradle. launcher.daemon.bootstrap.GradleDaemon 5.4.1

Bitte lesen Sie die folgende Prozessausgabe, um mehr zu erfahren:

Bei der Initialisierung der VM ist ein Fehler aufgetreten. Es konnte nicht genügend Speicherplatz für den 1572864 KB-Objektheap reserviert werden. Weitere Informationen finden Sie im IDE-Protokoll (Hilfe | Protokoll anzeigen) (16 s 166 ms).

Ich habe die Ereignisprotokolle überprüft:

Ich denke vorher hat es das getan:

Gradle anweisen, Java aus C: / Programme / Android / Android Studio / jre zu verwenden

Jetzt heißt es:

Gradle anweisen, Java aus C: / Programme (x86) /Java/jdk1.8.0_181 zu verwenden

Wie stelle ich es wieder so ein, wie es war, damit meine App wieder erstellt werden kann?

Jede Hilfe / Beratung wird geschätzt

Shiasu-sama
quelle

Antworten:

2

Gehen Sie zu Datei, Projektstruktur, SDK-Speicherort und ändern Sie die Dropdown-Liste JDK-Speicherort in JAVA_HOME.

Projektstruktur in Androdi Studio 3.6 Beta

Hoornet
quelle
1
Versucht, dass dann der gleiche Fehler wie in meiner Frage bekam. Ich bin auf einem 64-Bit-Windows.
Shiasu-sama
1

Sie müssen eine Umgebungsvariable ändern / hinzufügen.

Folgen Sie diesem Link , um zu erfahren, wie Sie Umgebungsvariablen ändern / hinzufügen.

Fügen Sie nun die Variable 'JAVA_HOME' hinzu / ändern Sie sie und setzen Sie den Pfad auf C:\Program Files\Android\Android Studio\jre

Hinweis: Wenn Sie später in einer anderen IDE an einem anderen Java-Projekt arbeiten möchten, müssen Sie diese Variable möglicherweise erneut auf den Standard-Java-Speicherort ändern (in diesem Fall möglicherweise C:/Program Files (x86)/Java/jdk1.8.0_181).

Guru Ananda
quelle
0

Gradle verwendet eindeutig meine native Java-Installation (von Oracle), während Android Studio eine eigene Version verwendet.

Ich habe diese Warnung seit dem Upgrade von Android Studio auf 3.6.1 ignoriert. Bisher kein Problem. In der Tat habe ich neue Versionen meiner App ohne Probleme veröffentlicht.

Wenn dies ärgerlich wird und Sie keine anderen Probleme haben, haben Sie die Möglichkeit, zukünftige Warnungen zu ignorieren: Drücken Sie einfach die Warnung und wählen Sie die Option, um zukünftige Meldungen im Zusammenhang mit dieser Warnung zu ignorieren.

Pablo Alfonso
quelle
0

Ubuntu 16.04 LTS, Android Studio 3.6

So habe ich die Warnung losgeworden:

1) Suchen Sie das AS Launcher-Skript studio.shauf Ihrem Computer. Mein Skript befindet sich unter: /opt/android-studio-3.x/bin
2) Im Skript finden Sie die folgenden Zeilen:

# ---------------------------------------------------------------------
# Locate a JDK installation directory which will be used to run the IDE.
# Try (in order): STUDIO_JDK, studio.jdk, ./jre64, JDK_HOME, JAVA_HOME, "java" in PATH.
# ---------------------------------------------------------------------
if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
fi

if [ -z "$JDK" -a -s "$HOME/.AndroidStudio3.6/config/studio.jdk" ]; then
  USER_JRE=`"$CAT" $HOME/.AndroidStudio3.6/config/studio.jdk`
...

3) Wenn Sie aus irgendeinem Grund Ihre Umgebungsvariablen nicht in den Launcher exportieren können (wie es mir aus der xfce4-Sitzung passiert), können Sie den gewünschten JAVA_HOMEWert in die studio.jdkDatei schreiben, deren Speicherort sich auf meinem System befindet Skript, ist in $HOME/.AndroidStudio3.6/config/studio.jdk.

$ echo $JAVA_HOME > $HOME/.AndroidStudio3.6/config/studio.jdk
$ cat $HOME/.AndroidStudio3.6/config/studio.jdk
/usr/lib/jvm/java-8-oracle

4) schließlich durch AS aus der DE - Sitzung neu zu starten, sollten Sie die sehen JAVA_HOMEunter der Datei -> Projektstruktur -> SDK Location Fenstersatz auf den obigen Wert und beide AS und gradle soll die gleiche JRE verwenden:

Projektstrukturfenster

PJ_Finnegan
quelle
-1

Auf Android Studio habe ich:

Datei> Projektstruktur ...> SDK-Speicherort (im linken Bereich)

Unten befindet sich ein Dropdown-Menü: JDK-Speicherort:

Ich habe dann dieses Verzeichnis ausgewählt / durchsucht:

C: \ Programme \ Java \ jdk1.8.0_181

Danach hat Gradle Sync wieder für mich funktioniert, aber ich erhalte immer noch folgende Warnung:

Android Studio verwendet diesen JDK-Speicherort: C: \ Programme \ Java \ jdk1.8.0_181, der sich von dem unterscheidet, den Gradle standardmäßig verwendet: C: \ Programme (x86) \ Java \ jdk1.8.0_181 . Die Verwendung unterschiedlicher Speicherorte kann mehrere Gradle-Dämonen erzeugen, wenn Gradle-Aufgaben unter Verwendung von Android Studio über die Befehlszeile ausgeführt werden.

  1. Mehr Info...
  2. Stellen Sie Android Studio so ein, dass es dasselbe JDK wie Gradle verwendet und das Projekt synchronisiert
  3. Diese Warnung nicht mehr anzeigen
Shiasu-sama
quelle
Dann klickte ich auf die unbefriedigende: "Diese Warnung nicht mehr
anzeigen