«Android SDK installation doesn't find JDK» — uma dor familiar?
\nVocê está tentando configurar o ambiente para desenvolvimento Android, inicia a instalação do SDK e, em resposta, silêncio? Ou, pior ainda, um erro vermelho: «Android SDK installation doesn't find JDK». Se você já pesquisou esta frase no Google, sabe: no Stack Overflow, este problema tem milhares de visualizações e dezenas de respostas.
\nPor que isso acontece? Parece que você baixou o JDK, instalou, mas o sistema insiste em não vê-lo. Neste artigo, não apenas analisaremos as causas, mas mostraremos com exemplos reais de código em Java como configurar corretamente o ambiente para que o Android SDK finalmente se entenda com o JDK.
\nSomos a equipe PythonLib e, embora nosso nome contenha Python, sabemos que Java é a base do desenvolvimento Android. O material de hoje será útil para todos que desejam resolver esta dor de cabeça de uma vez por todas.
\n\nPor que o Android SDK não vê o JDK? Três principais causas
\nAntes de mexer no código, vamos entender o inimigo de frente. O erro «Android SDK installation doesn't find JDK» geralmente ocorre por três motivos:
\n- \n
- Caminho para o JDK incorreto — o instalador simplesmente não sabe onde encontrar o Java. \n
- Variável de ambiente JAVA_HOME ausente — o Android SDK depende dela. \n
- Conflito de versões — você instalou um JDK de 32 bits em um sistema de 64 bits, ou vice-versa. \n
O mais frustrante é que, mesmo se você indicar manualmente o caminho no instalador, o erro pode voltar. Por quê? Porque o Android SDK verifica não apenas o caminho explícito, mas também as variáveis de ambiente. Vamos analisar cada caso com exemplos.
\n\nPasso 1: Verificar se o JDK está realmente instalado
\nAntes de configurar qualquer coisa, certifique-se de que o JDK realmente existe. Abra o terminal (linha de comando) e execute um comando simples em Java:
\njava -version\nSe você vir algo como:
\njava 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)\nEstá tudo certo — o JDK está instalado. Se o comando não for encontrado, o problema é mais profundo. Você precisa baixar o JDK do site oficial da Oracle ou usar o OpenJDK. Para desenvolvimento Android, recomenda-se a versão 11 ou 17.
\n\nExemplo de código: verificar a versão do Java internamente
\nSe você está escrevendo um script em Java que verifica o ambiente, pode usar a classe embutida System:
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}\nEste código exibirá a versão e o caminho do Java instalado. Se java.home apontar para a pasta jre, e não para jdk, isso pode ser a causa do erro — o Android SDK exige o JDK, não o JRE.
Passo 2: Configurar a variável JAVA_HOME
\nEste é o conselho mais comum no Stack Overflow e funciona. A variável JAVA_HOME deve apontar para a pasta raiz do JDK, e não para a pasta bin ou jre.
Como fazer isso?
\n- \n
- Windows: Painel de Controle → Sistema → Configurações Avançadas do Sistema → Variáveis de Ambiente. Crie uma nova variável de sistema
JAVA_HOMEcom o valor, por exemplo:C:\\Program Files\\Java\\jdk-17. \n - macOS/Linux: Edite o arquivo
~/.bashrcou~/.zshrce adicione a linha:export JAVA_HOME=/usr/lib/jvm/jdk-17. \n
Depois disso, reinicie o terminal e verifique:
\necho %JAVA_HOME% # para Windows\necho $JAVA_HOME # para macOS/Linux\n\n