¿Cómo configurar el JDK para Android Studio?

42

No puedo compilar un nuevo proyecto predeterminado para Android 2.1 porque (?) El JDK utilizado por Android Studio es JDK 1.7 pero debería ser JDK 1.6.

Para cambiarlo, voy a Archivo -> Estructura del proyecto e intento encontrar la ubicación de JDK 1.6.

Pero cuando selecciono su directorio y presiono OKme sale el siguiente error:

Elija un directorio JDK válido

Elija un directorio JDK válido

Como puede ver en la captura de pantalla, estoy tratando de configurar Java 6 OpenJDK de 64 bits como el nuevo JDK.

¿Que puedo hacer? ¿No es Android Studio compatible con OpenJDK y debería usar Oracle JDK en su lugar?

Lucio
fuente
¿Has probado la bincarpeta?
Louis Matthijssen
Lo intenté con: ./bin| ./jreEl | ./jre/binmismo mensaje para todos
Lucio
1
Para mí, solo tenía que usar la carpeta anterior /jreen la estructura del directorio, por lo que mi ruta es /usr/lib/jvm/java-8-oracley no /usr/lib/jvm/java-8-oracle/jre. Supuse que la ruta debería terminar /jreya que la ruta predeterminada (el JDK "incrustado"), pero resulta que si buscas en la carpeta predeterminada, es una carpeta llamada "jre" que contiene otra carpeta llamada "jre" .
Jack M

Respuestas:

24

Estoy usando OpenJDK 7 con Android Studio y funciona bien. (Ni siquiera tengo instalado Oracle JDK en este momento).

En esa pantalla que está mostrando (Estructura del proyecto -> Localización SKD) tengo la siguiente ruta para la ubicación de JDK : /usr/lib/jvm/java-1.7.0-openjdk-amd64.

Daniel
fuente
8

Mediante la inspección studio.sh, también se puede establecer uno de STUDIO_JDK, JDK_HOMEo JAVA_HOMElas variables de entorno para seleccionar la ubicación del JDK.


studio.shcomprueba las STUDIO_JDK, JDK_HOMEy JAVA_HOMEvariables de entorno en orden:

if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
elif [ -n "$JDK_HOME" -a -x "$JDK_HOME/bin/java" ]; then
  JDK="$JDK_HOME"
elif [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
  JDK="$JAVA_HOME"

Por lo tanto, puede configurarlos según corresponda y luego Studio lo seleccionará.

Nuno
fuente
Esto también funciona para Windows. útil si tiene un JDK con DCEVM como predeterminado en JAVA_HOME que no funciona con Android Studio.
Mateus Viccari
5

Parece que Android Studio no reconoce OpenJDK, por lo que necesito instalar OracleJDK .

Luego elegí el camino a Oracle JDK y funcionó.

Lucio
fuente
Lo instalé pero no puedo establecer su variable de ruta. ¿puedes decirme cómo puedo hacer eso?
Nitesh Verma
1
Sí, primero asegúrese de que la java -versionsalida de su versión de Java sea correcta . Luego, en la ventana AS, elija /usr/lib/jvm/jdk1.8.0/. Eso fue suficiente para mí en ese momento :-)
Lucio
3

Esto funcionó para mí:

  1. Descubra el directorio de Java:

    $ echo $JAVA_HOME
    /usr/lib/jvm/java-7-oracle
    
  2. Abra Android Studio y luego Archivo-> Estructura del proyecto.

  3. En SDK Location , paso el directorio de Java desde arriba
  4. Espera un par de segundos y obtuve "0 errores 0 advertencias"

¡Funcionó! :)

canorios
fuente
2

Pasos que seguí:

  1. Terminal abierto y entrar echo $JAVA_HOME

  2. Copié la ruta que se muestra en la terminal - Ctrl+ Shift+ Ccopia en la terminal de Ubuntu

  3. En el estudio de Android - Estructura del proyecto - Pegado de la ruta copiada

  4. Espere a que el software reconozca y actualice la configuración

  5. Esto resolvió el problema de la configuración inválida de Jdk

anand24
fuente
1

Si tiene una ./bincarpeta con un JDK y Android Studio, puede configurar la STUDIO_JDKvariable antes de ejecutarla studio.shen un terminal:

STUDIO_JDK=./bin/jdk/ ./bin/android-studio/bin/studio.sh
antoineMoPa
fuente
0

Solucioné este problema. Utilizo AS 2.1 y JDK1.7 mientras me requería actualizar JDK1.8 para algunas funciones. Descargo el archivo de instalación de Java. Tal vez solo instalé jre pero no jdk. así que AS siempre me advierte que "Elija un directorio JDK válido". Así que supongo que el problema del autor de la pregunta es el mismo que yo: debería instalar un JDK pero no jre.

Songtao Lou
fuente
0

Creo que podría haber instalado el jdk en otro lugar, por ejemplo /usr/local/java. En mi caso, también vi el mismo nombre de carpeta en el directorio que se muestra en la captura de pantalla.

Así que solo verifique si el jdk está presente en otro lugar.

Udayraj Deshmukh
fuente