IntelliJ Build Error Context Mismatch

Quiero usar IntelliJ IDEA 15 en lugar de Android Studio, pero tengo un problema con la construcción. Obtuve el siguiente error:

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] 

¿Cuál es mi error? Como puede ver en las siguientes imágenes, todo está configurado correctamente.

He configurado un JDK y las Herramientas de Android de la siguiente manera:

Proyecto SDK2 SDK1

Encontré esta pregunta mientras investigaba un problema similar, y resolví el mío, así que quizás mi experiencia me ayude.

Observaciones

Mi problema era similar al tuyo en que el contexto de Wanted tenía el javaHome como la ruta al JRE incrustado en la carpeta de instalación de IDEA, y el contexto Actual tenía como la primera versión de Java en mi ruta. Encontré varios informes de error similares en línea, pero ninguno tenía el JRE incorporado a IDEA como la versión Wanted .

La versión de Wanted Java resultó ser una instalación de todo el sistema de JRE, y no el JDK que había configurado para el proyecto, ni el valor establecido para JAVA_HOME , lo que me hizo muy sospechoso (y confundido). Reordenar mi ruta hizo que utilizara otra versión “no deseada” de Java, por lo que estaba claramente usando la ruta para elegir qué ejecutar, pero no estaba claro por qué. No pude hacer que el JRE integrado de IntelliJ fuera el primero en mi camino, porque necesitaba que fuera el JDK por varias razones, así que necesitaba otra solución.

También noté (usando Process Explorer, dado que estoy en Windows) que, en el caso de falla, IntelliJ lanzó varios procesos de daemon Gradle de java.exe , y que definitivamente no había procesos de daemon en ejecución antes de intentar iniciar mi comstackción .

Solución

La causa resultó ser que había definido una nueva configuración en el cuadro de diálogo “Ejecutar / Configuraciones de depuración” y coloqué la ruta completa al archivo build.gradle en el campo Gradle project: siguiente manera. (Hice esto haciendo clic en el botón de puntos suspensivos (…) a la derecha del campo, pero también podría haberlo ingresado directamente).

Cuadro de diálogo Ejecutar / Configuraciones de depuración que muestra el proyecto Gradle como una ruta explícita a un archivo de compilación de Gradle

Sin embargo, lo que debería haber hecho es seguir el patrón en las configuraciones existentes, donde el Gradle project: se especificó como un “proyecto registrado”, haciendo clic en el icono “carpeta” a la derecha del campo, resaltado en verde en la siguiente imagen . En este caso, el contenido del campo es solo el nombre del proyecto, y se muestra con colores de fondo / primer plano sutilmente diferentes. (Descubrí accidentalmente que al hacer clic con el botón derecho en este nombre, lo reemplazaré con la ruta a la carpeta que contiene build.gradle , pero si cancelas y comienzas a editar la configuración de nuevo, seguirá apareciendo solo como el nombre del proyecto).

Diálogo Configuraciones de ejecución / depuración que muestra el proyecto Gradle como el nombre de un proyecto registrado

Después de hacer este cambio, la configuración se construyó como se esperaba, y observé que solo se lanzó un java.exe , utilizando la misma ruta JDK que cuando ejecuté tareas desde el panel “Gradle” en la interfaz de usuario.

Lo resolví usando idea64.exe y no idea.exe

enter image description here

  1. Crear archivo gradle.properties en la carpeta %USERPROFILE%\.gradle\ ( ~/.gradle/ on * nix machines)
  2. En este archivo, agregue la cadena org.gradle.java.home={actual path to jdk} (para conocerla en MacOS, ejecute /usr/libexec/java_home )

Para mí, este problema se resolvió ejecutando IDE en modo de 64 bits, ya que solo tengo instalado JRE de 64 bits.

Tenía exactamente el mismo problema y esto es lo que funcionó para mí.

.project archivos .idea y .project del directorio raíz de mi proyecto IntelliJ. Reinicié IntelliJ y abrí mi proyecto nuevamente.

Lo que funcionó para mí fue:

  • desinstalar intelliJ
  • Vuelva a instalar intelliJ, pero durante la instalación, asegúrese de NO marcar “Descargar e instalar el JRE de 64 bits de JetBrains (se usará con el iniciador de 64 bits)”

Esto hizo que mi proyecto funcionara nuevamente (tanto en la versión de 32 bits como de 64 bits).

Añada abajo en su gradle.propetries

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

por ejemplo:

org.gradle.java.home = C: \ Archivos de progtwig (x86) \ Java \ jdk1.8.0_121

De lo contrario, si tiene una advertencia de montón de memoria.

Agregue gradle.properties a continuación: org.gradle.jvmargs = -Xmx512m

En mi caso, solo fui a la configuración, busqué JDK, hice clic en el comstackdor de Java, luego noté que faltaba la versión del código byte del proyecto. Así que solo revisé 1.8, que es mi versión de comstackción de Java. Y eso fue todo para mí.

enter image description here

simplemente mueva la carpeta jdk a la carpeta inteligente deseada C: \ Archivos de progtwig \ JetBrains \ IntelliJ IDEA Community Edition 2016.3.4 \ jre

luego cambie los valores en la carpeta .gradle indicada en la línea deseada cierre el proyecto y luego reinicie

esto funciona para mi….

Resolví este problema cambiando el nombre de las carpetas jre y jre64 para evitar que idea las use y estableciendo JAVA_HOME en mi otra instalación de JDK 1.8 en el archivo idea.bat.

Si está utilizando el complemento Gradle IDEA:

  1. Ejecuta .\gradlew cleanidea idea
  2. Salga de IntelliJ IDEA
  3. Inicie IntelliJ IDEA y elija la opción “Importar proyecto” del menú principal.
  4. Navegue al archivo build.gradle principal de su proyecto cuando se le build.gradle que especifique el proyecto para importar.
  5. A continuación, tendrá la oportunidad de configurar el JDK en “el valor predeterminado del proyecto” u otro JDK preferido.
  6. Haga clic en Aceptar para continuar y ver la sincronización de Gradle y comstackr de nuevo con éxito.