¿Cómo instruir a Gradle para que use Java desde una ubicación diferente?

9

Estaba creando mi aplicación de prueba en Android Studio, luego en el Registro de eventos decía:

Android Studio está utilizando esta ubicación JDK: C: \ Archivos de programa \ Android \ Android Studio \ jre, que es diferente de lo que Gradle usa de manera predeterminada: C: \ Archivos de programa (x86) \ Java \ jdk1.8.0_181 El uso de diferentes ubicaciones puede generar múltiples demonios Gradle si las tareas de Gradle se ejecutan desde la línea de comandos mientras se usa Android Studio.

Luego dio estas opciones:

  1. Más información...
  2. Configure Android Studio para usar el mismo JDK que Gradle y sincronizar
  3. No volver a mostrar esta advertencia

Hice clic en:

Configure Android Studio para usar el mismo JDK que Gradle y sincronizar

entonces mi aplicación no quería construir más.

Este es el error:

Error de sincronización de Gradle: no se puede iniciar el proceso del demonio.
Este problema puede deberse a una configuración incorrecta del daemon.

Por ejemplo, se utiliza una opción jvm no reconocida.
Consulte el capítulo del Manual del usuario sobre el demonio en https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html

Línea de comando de proceso: C: \ Archivos de programa (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

Lea el siguiente resultado del proceso para obtener más información:

Se produjo un error durante la inicialización de VM. No se pudo reservar suficiente espacio para el montón de objetos de 1572864 KB. Consulte el registro IDE para obtener más detalles (Ayuda | Mostrar registro) (16 s 166 ms)

Revisé los registros de eventos:

Creo que anteriormente hizo esto:

Instruir a gradle para que use Java desde C: / Archivos de programa / Android / Android Studio / jre

Ahora dice esto:

Instruir a gradle para que use java desde C: / Archivos de programa (x86) /Java/jdk1.8.0_181

¿Cómo lo vuelvo a poner como estaba para que mi aplicación pueda volver a compilarse?

Cualquier ayuda / consejo será apreciada

Shiasu-sama
fuente

Respuestas:

2

Vaya a Archivo, Estructura del proyecto, ubicación del SDK y cambie el menú desplegable de ubicación de JDK a JAVA_HOME.

Estructura del proyecto en Androdi Studio 3.6 beta

Hoornet
fuente
1
Intenté que luego obtuve el mismo error que en mi pregunta. Estoy en un Windows de 64 bits.
Shiasu-sama
1

Necesita cambiar / agregar una variable de entorno.

Siga este enlace para saber cómo cambiar / agregar variables de entorno.

Ahora agregue / modifique la variable 'JAVA_HOME' y configure la ruta a C:\Program Files\Android\Android Studio\jre

Nota: Cuando vaya a trabajar en un proyecto Java diferente más adelante en un IDE diferente, es posible que deba cambiar esta variable nuevamente a la ubicación predeterminada de Java (en este caso, tal vez C:/Program Files (x86)/Java/jdk1.8.0_181)

Guru Ananda
fuente
0

Gradle claramente está usando mi instalación nativa de Java (de Oracle) mientras que Android Studio está usando su propia versión.

He estado ignorando esta advertencia desde la actualización de Android Studio a 3.6.1. No hay problema hasta ahora. De hecho, he lanzado nuevas versiones de mi aplicación sin problemas.

Si esto se vuelve molesto y SI no tiene otros problemas, tiene la opción de ignorar las advertencias futuras: solo presione la advertencia y seleccione la opción para ignorar los mensajes futuros relacionados con esta advertencia.

Pablo Alfonso
fuente
0

Ubuntu 16.04 LTS, Android Studio 3.6

Así es como me libré de la advertencia:

1) ubique el script del iniciador AS studio.shen su máquina, el mío está debajo: /opt/android-studio-3.x/bin
2) dentro del script, encontrará las siguientes líneas:

# ---------------------------------------------------------------------
# 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, por alguna razón, no puede exportar sus variables de entorno al iniciador (como me sucede desde la sesión xfce4), puede escribir el JAVA_HOMEvalor deseado dentro del studio.jdkarchivo cuya ubicación en mi sistema, según el guión, 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) por último, al reiniciar AS desde la sesión DE, debería ver JAVA_HOMEdebajo de la ventana Archivo -> Estructura del proyecto -> Ubicación del SDK establecida en el valor anterior y tanto AS como gradle deberían usar el mismo JRE:

Ventana de estructura del proyecto

PJ_Finnegan
fuente
-1

En Android Studio hice:

Archivo> Estructura del proyecto ...> Ubicación del SDK (en el panel izquierdo)

Luego, en la parte inferior, hay un menú desplegable a continuación: ubicación JDK:

Luego seleccioné / navegué a este directorio:

C: \ Archivos de programa \ Java \ jdk1.8.0_181

Gradle Sync funcionó nuevamente para mí después de eso, pero aún recibo esta advertencia:

Android Studio está utilizando esta ubicación JDK: C: \ Archivos de programa \ Java \ jdk1.8.0_181, que es diferente de lo que Gradle usa de manera predeterminada: C: \ Archivos de programa (x86) \ Java \ jdk1.8.0_181 . El uso de diferentes ubicaciones puede generar múltiples demonios Gradle si las tareas de Gradle se ejecutan desde la línea de comandos mientras se usa Android Studio.

  1. Más información...
  2. Configure Android Studio para usar el mismo JDK que Gradle y sincronizar proyecto
  3. No volver a mostrar esta advertencia
Shiasu-sama
fuente
Luego hice clic en insatisfactorio: "No mostrar esta advertencia nuevamente": /
Shiasu-sama