Android SDK no ve JDK: solución paso a paso con ejemplos en Java

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

«Android SDK installation doesn't find JDK» — ¿un dolor familiar?

\n

¿Estás intentando configurar el entorno para el desarrollo en Android, inicias la instalación del SDK y obtienes silencio? O, peor aún, ¿un error rojo: «Android SDK installation doesn't find JDK»? Si alguna vez has buscado esta frase en Google, sabes que en Stack Overflow este problema tiene miles de visitas y decenas de respuestas.

\n

¿Por qué sucede esto? Aparentemente, descargaste JDK, lo instalaste, pero el sistema se niega a verlo. En este artículo no solo analizaremos las causas, sino que mostraremos con ejemplos reales de código en Java cómo configurar correctamente el entorno para que Android SDK finalmente se lleve bien con JDK.

\n

Somos el equipo de PythonLib, y aunque nuestro nombre incluye Python, sabemos que Java es la base del desarrollo en Android. El material de hoy será útil para todos los que quieran resolver este dolor de cabeza de una vez por todas.

\n\n

¿Por qué Android SDK no ve JDK? Tres razones principales

\n

Antes de meternos en el código, conozcamos al enemigo. El error «Android SDK installation doesn't find JDK» generalmente ocurre por tres razones:

\n
    \n
  • Ruta a JDK incorrecta — el instalador simplemente no sabe dónde buscar Java.
  • \n
  • Falta la variable de entorno JAVA_HOME — Android SDK depende de ella.
  • \n
  • Conflicto de versiones — instalaste JDK de 32 bits en un sistema de 64 bits, o viceversa.
  • \n
\n

Lo más frustrante es que incluso si indicaste manualmente la ruta en el instalador, el error puede regresar. ¿Por qué? Porque Android SDK verifica no solo la ruta explícita, sino también las variables de entorno. Analicemos cada caso con ejemplos.

\n\n

Paso 1: Verificar si JDK está instalado

\n

Antes de configurar cualquier cosa, asegúrate de que JDK realmente exista. Abre la terminal (línea de comandos) y ejecuta un comando simple en Java:

\n
java -version
\n

Si ves algo como:

\n
java version "17.0.2" 2022-01-18 LTS\nJava(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)\nJava HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode)
\n

Todo está bien: JDK está instalado. Si el comando no se encuentra, el problema es más profundo. Debes descargar JDK desde el sitio oficial de Oracle o usar OpenJDK. Para el desarrollo en Android, se recomienda la versión 11 o 17.

\n\n

Ejemplo de código: verificar la versión de Java desde dentro

\n

Si estás escribiendo un script en Java que verifica el entorno, puedes usar la clase incorporada System:

\n
public class CheckJavaVersion {\n    public static void main(String[] args) {\n        String version = System.getProperty("java.version");\n        String home = System.getProperty("java.home");\n        System.out.println("Java version: " + version);\n        System.out.println("Java home: " + home);\n    }\n}
\n

Este código mostrará la versión y la ruta de Java instalada. Si java.home apunta a la carpeta jre y no a jdk, esta podría ser la causa del error: Android SDK requiere JDK, no JRE.

\n\n

Paso 2: Configurar la variable JAVA_HOME

\n

Este es el consejo más común en Stack Overflow, y funciona. La variable JAVA_HOME debe apuntar a la carpeta raíz de JDK, no a la carpeta bin ni a jre.

\n

¿Cómo hacerlo?

\n
    \n
  • Windows: Panel de control → Sistema → Configuración avanzada del sistema → Variables de entorno. Crea una nueva variable de sistema JAVA_HOME con el valor, por ejemplo: C:\\Program Files\\Java\\jdk-17.
  • \n
  • macOS/Linux: Edita el archivo ~/.bashrc o ~/.zshrc y agrega la línea: export JAVA_HOME=/usr/lib/jvm/jdk-17.
  • \n
\n

Después de esto, reinicia la terminal y verifica:

\n
echo %JAVA_HOME%   # para Windows\necho $JAVA_HOME    # para macOS/Linux
\n\n

Blogs

Book Recommendations