Comment demander à Gradle d'utiliser Java à partir d'un emplacement différent?

9

Je construisais mon application de test dans Android Studio, puis dans le journal des événements, il était dit:

Android Studio utilise cet emplacement JDK: C: \ Program Files \ Android \ Android Studio \ jre qui est différent de ce que Gradle utilise par défaut: C: \ Program Files (x86) \ Java \ jdk1.8.0_181 L'utilisation de différents emplacements peut engendrer plusieurs démons Gradle si les tâches Gradle sont exécutées à partir de la ligne de commande lors de l'utilisation d'Android Studio.

Puis a donné ces options:

  1. Plus d'informations...
  2. Configurer Android Studio pour utiliser le même JDK que Gradle et synchroniser
  3. Ne plus afficher cet avertissement

J'ai cliqué sur:

Configurer Android Studio pour utiliser le même JDK que Gradle et synchroniser

alors mon application ne voulait plus construire.

Voici l'erreur:

Échec de la synchronisation de Gradle: impossible de démarrer le processus démon.
Ce problème peut être dû à une configuration incorrecte du démon.

Par exemple, une option jvm non reconnue est utilisée.
Veuillez vous référer au chapitre du manuel de l'utilisateur sur le démon à https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html

Ligne de commande de processus: C: \ Program Files (x86) \ Java \ jdk1.8.0_181 \ bin \ java.exe -Xmx1536m -Dfile.encoding = windows-1252 -Duser.country = ZA -Duser.language = en -Duser. variante -cp C: \ Users \ {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

Veuillez lire la sortie de processus suivante pour en savoir plus:

Une erreur s'est produite lors de l'initialisation de la machine virtuelle Impossible de réserver suffisamment d'espace pour le tas d'objets 1572864 Ko Consultez le journal IDE pour plus de détails (Aide | Afficher le journal) (16 s 166 ms)

J'ai vérifié les journaux d'événements:

Je pense que précédemment, il a fait ceci:

Demander à Gradle d'utiliser Java à partir de C: / Program Files / Android / Android Studio / jre

Maintenant, il dit ceci:

Demander à Gradle d'utiliser Java à partir de C: / Program Files (x86) /Java/jdk1.8.0_181

Comment puis-je le remettre en place pour que mon application puisse à nouveau être construite?

Toute aide / conseil sera apprécié

Shiasu-sama
la source

Réponses:

2

Accédez à Fichier, Structure du projet, Emplacement du SDK et changez la liste déroulante Emplacement du JDK en JAVA_HOME.

Structure du projet dans Androdi Studio 3.6 beta

Hoornet
la source
1
Essayé qui a ensuite obtenu la même erreur que dans ma question. Je suis sur un Windows 64 bits.
Shiasu-sama
1

Vous devez modifier / ajouter une variable d'environnement.

Suivez ce lien pour savoir comment modifier / ajouter des variables d'environnement.

Maintenant, ajoutez / modifiez la variable 'JAVA_HOME' et définissez le chemin sur C:\Program Files\Android\Android Studio\jre

Remarque: Lorsque vous allez travailler sur un autre projet Java plus tard dans un autre IDE, vous devrez peut-être modifier à nouveau cette variable à l'emplacement Java par défaut (dans ce cas, peut-être C:/Program Files (x86)/Java/jdk1.8.0_181)

Guru Ananda
la source
0

Gradle utilise clairement mon installation Java native (d'Oracle) tandis qu'Android Studio utilise sa propre version.

J'ignore cet avertissement depuis la mise à niveau d'Android Studio vers 3.6.1. Aucun problème jusqu'à présent. En effet, j'ai sorti sans problème de nouvelles versions de mon application.

Si cela devient ennuyeux et si vous n'avez aucun autre problème, vous avez la possibilité d'ignorer les futurs avertissements: appuyez simplement sur l'avertissement et sélectionnez l'option pour ignorer les futurs messages liés à cet avertissement.

Pablo Alfonso
la source
0

Ubuntu 16.04 LTS, Android Studio 3.6

Voilà comment je me suis débarrassé de l'avertissement:

1) localisez le script du lanceur AS studio.shsur votre machine, le mien est sous: /opt/android-studio-3.x/bin
2) à l'intérieur du script, vous trouverez les lignes suivantes:

# ---------------------------------------------------------------------
# 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) si, pour une raison quelconque, vous ne parvenez pas à exporter vos variables d'environnement vers le lanceur (comme cela m'arrive à partir de la session xfce4), vous pouvez écrire la JAVA_HOMEvaleur souhaitée dans le studio.jdkfichier dont l'emplacement sur mon système, conformément à la script, est en $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) enfin, en redémarrant AS depuis la session DE, vous devriez voir JAVA_HOMEsous la fenêtre Fichier -> Structure du projet -> Emplacement du SDK la valeur ci-dessus et AS et gradle devraient utiliser le même JRE:

Fenêtre Structure du projet

PJ_Finnegan
la source
-1

Sur Android Studio, j'ai fait:

Fichier> Structure du projet ...> Emplacement du SDK (dans le volet gauche)

Puis en bas il y a une liste déroulante ci-dessous: Emplacement JDK:

J'ai ensuite sélectionné / parcouru ce répertoire:

C: \ Program Files \ Java \ jdk1.8.0_181

Gradle Sync a de nouveau fonctionné pour moi après cela, mais je reçois toujours cet avertissement:

Android Studio utilise cet emplacement JDK: C: \ Program Files \ Java \ jdk1.8.0_181 qui est différent de ce que Gradle utilise par défaut: C: \ Program Files (x86) \ Java \ jdk1.8.0_181 . L'utilisation de différents emplacements peut générer plusieurs démons Gradle si les tâches Gradle sont exécutées à partir de la ligne de commande lors de l'utilisation d'Android Studio.

  1. Plus d'informations...
  2. Configurer Android Studio pour utiliser le même JDK que Gradle et le projet de synchronisation
  3. Ne plus afficher cet avertissement
Shiasu-sama
la source
Ensuite, j'ai cliqué sur l'insatisfaisant: "Ne plus afficher cet avertissement": /
Shiasu-sama