Incompatibilité du contexte d’erreur de génération IntelliJ

Je veux utiliser IntelliJ IDEA 15 au lieu d’Android Studio, mais j’ai un problème avec la construction. Je reçois l’erreur suivante:

Gradle sync failed: The newly created daemon process has a different context than expected. It won't be possible to reconnect to this daemon. Context mismatch: Java home is different. Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0\jre,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=1224,idleTimeout=null,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant] Actual: DefaultDaemonContext[uid=6fd89265-5686-4337-a75f-538209464d3a,javaHome=C:\Program Files\Java\jdk1.8.0_74,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=14128,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant] 

Quelle est mon erreur? Comme vous pouvez le voir sur les images suivantes, tout est configuré correctement.

J’ai configuré un JDK et les outils Android comme suit:

Projet SDK2 SDK1

J’ai trouvé cette question en enquêtant sur un problème similaire, et j’ai résolu le mien, alors peut-être que mon expérience m’aidera.

Observations

Mon problème était similaire au vôtre dans la mesure où le contexte Wanted comportait le javaHome comme chemin d’access à l’ javaHome JRE intégré dans le dossier d’installation IDEA, et le contexte Actual avait comme première version de Java sur mon chemin. J’ai trouvé plusieurs rapports d’erreur similaires en ligne, mais aucun d’entre eux n’avait JRE intégré à la version Wanted .

La version Java Wanted trouvait être une installation du JRE à l’échelle du système, et non le JDK que j’avais configuré pour le projet, ni la valeur définie pour JAVA_HOME , ce qui me rendait très suspect (et confus). Le fait de réorganiser mon chemin l’a obligé à utiliser encore une autre version “indésirable” de Java. Il utilisait donc clairement le chemin pour choisir quoi exécuter, mais la raison n’était pas claire. Je ne pouvais pas faire en sorte que le JRE intégré d’IntelliJ soit le premier sur mon chemin, car j’avais besoin que ce soit le JDK pour diverses raisons, alors j’avais besoin d’une autre solution.

J’ai également remarqué (avec Process Explorer, depuis Windows) que, dans le cas contraire, IntelliJ a lancé un certain nombre de processus java.exe Gradle, et qu’aucun processus démon ne fonctionnait avant d’essayer de démarrer ma construction. .

Solution

La cause s’est avérée être que j’avais défini une nouvelle configuration dans la boîte de dialog “Exécuter / Déboguer les configurations” et placer le chemin complet du fichier build.gradle dans le champ build.gradle comme suit. (Je l’ai fait en cliquant sur le bouton points de suspension (…) à droite du champ, mais je pourrais aussi l’avoir entré directement.)

Boîte de dialogue Configurations Exécuter / Déboguer affichant le projet Gradle comme chemin d'accès explicite à un fichier de génération Gradle

Cependant, ce que j’aurais dû faire était de suivre le modèle dans les configurations existantes, où le Gradle project: était spécifié comme un “projet enregistré”, en cliquant sur l’icône “dossier” à droite du champ, surlignée en vert dans l’image suivante . Dans ce cas, le contenu du champ est uniquement le nom du projet et est affiché avec des couleurs d’arrière-plan / premier plan subtilement différentes. (J’ai accidentellement découvert que le fait de cliquer avec le bouton droit sur ce nom le remplacera par le chemin d’access au dossier contenant build.gradle , mais si vous annulez et recommencez la modification, le nom du projet apparaîtra toujours.)

Boîte de dialogue Configurations Exécuter / Déboguer affichant le projet Gradle comme nom d'un projet enregistré

Après avoir apporté cette modification, la configuration s’est déroulée comme prévu, et j’ai observé qu’un seul java.exe avait été lancé, utilisant le même chemin JDK que lorsque java.exe tâches du panneau “Gradle” dans l’interface utilisateur.

Je l’ai résolu en utilisant idea64.exe et pas idea.exe

entrer la description de l'image ici

  1. Créez le fichier gradle.properties dans le dossier %USERPROFILE%\.gradle\ (machines ~/.gradle/ on * nix)
  2. Dans ce fichier, ajoutez la chaîne org.gradle.java.home={actual path to jdk} (pour le savoir dans MacOS, exécutez /usr/libexec/java_home )

Pour moi, ce problème a été résolu en exécutant IDE en mode 64 bits car je n’ai installé que JRE 64 bits.

J’ai eu exactement le même problème et c’est ce qui a fonctionné pour moi.

J’ai supprimé les fichiers .idea et .idea du répertoire racine de mon projet IntelliJ. Redémarrez IntelliJ et ouvrez à nouveau mon projet.

Ce qui a fonctionné pour moi était:

  • désinstaller intelliJ
  • Réinstallez intelliJ, mais pendant l’installation, assurez-vous de NE PAS cocher “Télécharger et installer JRE 64 bits par JetBrains (sera utilisé avec le lanceur 64 bits)”

Cela a permis à mon projet de fonctionner à nouveau (en version 32 et 64 bits).

Ajoutez ci-dessous dans votre classement.

org.gradle.java.home = $ {sdk_path}

par exemple:

org.gradle.java.home = C: \ Program Files (x86) \ Java \ jdk1.8.0_121

Sinon, si vous avez un avertissement de tas de mémoire.

Veuillez également append gradle.properties avec ci-dessous: org.gradle.jvmargs = -Xmx512m

Dans mon cas, je suis seulement allé aux parameters, cherché JDK, cliqué sur Java Comstackr, puis j’ai remarqué que la version bytecode du projet était manquante. Donc j’ai seulement vérifié 1.8 qui est ma version de Java. Et c’était ça pour moi.

entrer la description de l'image ici

il suffit de déplacer le dossier jdk vers le dossier voulu de intellij C: \ Program Files \ JetBrains \ IntelliJ IDEA Community Edition 2016.3.4 \ jre

puis changez les valeurs dans le dossier .gradle donné dans la ligne voulue fermez le projet puis redémarrez

ça marche pour moi….

J’ai résolu ce problème en renommant les dossiers jre et jre64 pour empêcher leur utilisation et en définissant JAVA_HOME sur mon autre installation JDK 1.8 dans le fichier idea.bat.

Si vous utilisez le plugin Gradle IDEA:

  1. Run .\gradlew cleanidea idea
  2. Quittez IntelliJ IDEA
  3. Démarrez IntelliJ IDEA et choisissez l’option “Import Project” dans le menu principal.
  4. Accédez au fichier build.gradle principal de votre projet lorsque vous build.gradle invité à spécifier le projet à importer.
  5. Vous aurez alors la chance de définir le JDK sur “le projet par défaut” ou un autre JDK préféré.
  6. Cliquez sur OK pour continuer, et regardez Gradle synchroniser et reconstruire avec succès!