« Android SDK installation doesn't find JDK » — une douleur familière ?
\nVous essayez de configurer l'environnement de développement Android, vous lancez l'installation du SDK, et en retour — le silence ? Ou pire encore — une erreur rouge : « Android SDK installation doesn't find JDK ». Si vous avez déjà cherché cette phrase sur Google, vous savez : sur Stack Overflow, ce problème a des milliers de vues et des dizaines de réponses.
\nPourquoi cela arrive-t-il ? Vous avez apparemment téléchargé le JDK, installé, mais le système refuse obstinément de le voir. Dans cet article, nous ne nous contenterons pas d'analyser les causes, mais nous montrerons avec des exemples concrets de code Java comment configurer correctement l'environnement pour qu'Android SDK s'entende enfin avec JDK.
\nNous sommes l'équipe PythonLib, et bien que notre nom contienne Python, nous savons que Java est le fondement du développement Android. Le contenu d'aujourd'hui sera utile à tous ceux qui veulent résoudre ce casse-tête une fois pour toutes.
\n\nPourquoi Android SDK ne voit-il pas JDK ? Trois causes principales
\nAvant de plonger dans le code, comprenons l'ennemi. L'erreur « Android SDK installation doesn't find JDK » survient le plus souvent pour trois raisons :
\n- \n
- Chemin vers JDK incorrect — l'installateur ne sait tout simplement pas où trouver Java. \n
- Variable d'environnement JAVA_HOME absente — Android SDK en dépend. \n
- Conflit de versions — vous avez installé un JDK 32 bits sur un système 64 bits, ou l'inverse. \n
Le plus frustrant, c'est que même si vous avez spécifié manuellement le chemin dans l'installateur, l'erreur peut revenir. Pourquoi ? Parce qu'Android SDK vérifie non seulement le chemin explicite, mais aussi les variables d'environnement. Analysons chaque cas avec des exemples.
\n\nÉtape 1 : Vérifions si JDK est installé
\nAvant de configurer quoi que ce soit, assurez-vous que JDK est bien présent. Ouvrez un terminal (invite de commandes) et exécutez une simple commande Java :
\njava -version\nSi vous voyez quelque chose comme :
\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)\nTout va bien — JDK est installé. Si la commande n'est pas trouvée, le problème est plus profond. Vous devez télécharger JDK depuis le site officiel d'Oracle ou utiliser OpenJDK. Pour le développement Android, la version 11 ou 17 est recommandée.
\n\nExemple de code : vérification de la version Java depuis l'intérieur
\nSi vous écrivez un script Java qui vérifie l'environnement, vous pouvez utiliser la classe intégrée 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}\nCe code affichera la version et le chemin vers Java installé. Si java.home pointe vers le dossier jre et non jdk, cela peut être la cause de l'erreur — Android SDK nécessite JDK, pas JRE.
Étape 2 : Configuration de la variable JAVA_HOME
\nC'est le conseil le plus fréquent sur Stack Overflow, et il fonctionne. La variable JAVA_HOME doit pointer vers le dossier racine du JDK, et non vers le dossier bin ou jre.
Comment faire ?
\n- \n
- Windows : Panneau de configuration → Système → Paramètres système avancés → Variables d'environnement. Créez une nouvelle variable système
JAVA_HOMEavec la valeur, par exemple :C:\\Program Files\\Java\\jdk-17. \n - macOS/Linux : Modifiez le fichier
~/.bashrcou~/.zshrcet ajoutez la ligne :export JAVA_HOME=/usr/lib/jvm/jdk-17. \n
Après cela, redémarrez le terminal et vérifiez :
\necho %JAVA_HOME% # pour Windows\necho $JAVA_HOME # pour macOS/Linux\n\n