IntelliJ Build Error Context Mismatch
Quiero utilizar 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 se puede ver en las siguientes imágenes todo está configurado correctamente.
- No es capaz de recuperar buena calidad de vídeo url de youtube api en android appf
- ¿Por qué Android prefiere las clases estáticas?
- AndroidJUnit4.class + org.junit.Assume.assumeTrue = AssumptionViolatedException
- Java socket IOException - permiso denegado
- Encriptación AES 128 en Java Descifrado en PHP
He configurado un JDK y las herramientas de Android como sigue:
- IllegalStateException en el servicio de juegos de Google Play no tiene sentido
- Matriz de rotación de Android
- ¿Cómo convertir geopoint longitud + latitud a doble?
- Android DescargarManager get filename
- ¿Cómo recuperar un contexto de una clase que no sea de actividad?
- Los anuncios de anuncios publicitarios se publican una sola vez
- URLEncoder codificar / decodificación de URLDecoder en java (Android)
- Android - Actualizar datos en un AlertDialog?
Encontré esta pregunta mientras investigaba un problema similar, y resolví el mío, así que tal vez mi experiencia me ayude.
Observaciones
Mi problema era similar al tuyo en que el contexto Wanted
tenía el javaHome
como la ruta de acceso 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 camino. Encontré varios informes de errores similares en línea, pero ninguno tenía la IDEA incorporada JRE como la versión de Wanted
.
La versión Wanted
Java pasó a ser una instalación de todo el sistema del JRE, y no el JDK que había configurado para el proyecto, ni el valor establecido para JAVA_HOME
, que me hizo muy sospechoso (y confundido). Reordenar mi ruta de acceso hizo que usara otra versión "no deseada" de Java, por lo que estaba claramente usando el camino para elegir qué ejecutar, pero no estaba claro por qué. No podía 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, ya que estoy en Windows) que, en caso de fallo, IntelliJ lanzó una serie de procesos de daemon de java.exe
Gradle, y que definitivamente no había procesos demonio en ejecución antes de que intenté iniciar mi compilación .
Solución
La causa resultó ser que había definido una nueva configuración en el diálogo "Run / Debug Configurations" y poner la ruta completa al archivo build.gradle
en el Gradle project:
, como sigue. (Hice esto haciendo clic en el botón de puntos suspensivos (…) a la derecha del campo, pero también podría haber ingresado directamente.)
Sin embargo, lo que debería haber hecho fue 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 sólo el nombre del proyecto y se muestra con colores de fondo / primer plano sutilmente diferentes. (Descubrí accidentalmente que hacer clic con el botón derecho del ratón en este nombre lo reemplazaría con la ruta a la carpeta que contiene build.gradle
, pero si cancelas y comienzas a editar la configuración de nuevo, seguirá apareciendo sólo como el nombre del proyecto).
Después de realizar este cambio, la configuración se construyó como se esperaba, y observé que sólo 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
Para mí este problema se resolvió mediante la ejecución de IDE en modo de 64 bits ya que sólo tengo 64 bits JRE instalado.
- Crear archivo "gradle.properties" en la carpeta% USERPROFILE% \. Gradle \
- En este archivo, agregue la cadena "org.gradle.java.home = {ruta real a jdk}"
Tuve 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 volvió a abrir mi proyecto.
Lo que funcionó para mí fue:
- Desinstalación de intelliJ
- Reinstale intelliJ, pero durante la instalación asegúrese de NO comprobar "Descargar e instalar JRE de 64 bits por JetBrains (se utilizará con el lanzador de 64 bits)"
Esto hizo que mi proyecto funcionara de nuevo, (en la versión de 32 y 64 bits).
Añada a continuación en su gradle.propetries
Org.gradle.java.home = $ {sdk_path}
por ejemplo:
Org.gradle.java.home = C: \ Archivos de programa (x86) \ Java \ jdk1.8.0_121
De lo contrario, si tiene una advertencia de montón de memoria.
Por favor, agregue también gradle.properties con: org.gradle.jvmargs = -Xmx512m
En mi caso sólo fui a la configuración, buscado JDK, chascado Java Compiler, entonces noté que la versión del bytecode del proyecto faltaba. Así que sólo comprobé 1.8 que es mi versión de compilación de Java. Y eso fue todo para mí.
Simplemente mueva la carpeta jdk a la carpeta deseada intellij C: \ Archivos de programa \ JetBrains \ IntelliJ IDEA Community Edition 2016.3.4 \ jre
Luego cambie los valores en la carpeta .gradle dada en la línea deseada cierre el proyecto y luego reinicie
esto funciona para mi….
He resuelto este problema cambiando el nombre de las carpetas jre y jre64 para evitar que la idea de usarlos y la configuración JAVA_HOME a mi otra instalación JDK 1.8 en el archivo idea.bat.