Table of Contents
Introduction
WSL2 (Windows Subsystem for Linux 2) est une excellente solution pour les dĂ©veloppeurs souhaitant exĂ©cuter un environnement Linux sur Windows. Cependant, l’utilisation d’ADB (Android Debug Bridge) sous WSL2 peut ĂȘtre problĂ©matique, car l’instance de WSL2 ne peut pas directement accĂ©der aux ports ouverts par ADB sur Windows.
Dans cet article, nous allons voir comment configurer WSL2 pour qu’il utilise l’ADB de Windows, permettant ainsi de dĂ©boguer et interagir avec des appareils Android connectĂ©s via USB.
1. Pré-requis
- WSL2 installĂ© : Si ce n’est pas encore fait, suivez la documentation officielle de Microsoft pour installer WSL2 : WSL Docs
- ADB installé sur Windows : Vous pouvez télécharger les
Android SDK Platform Tools
depuis le site officiel : Android Developer Platform Tools
Vérifiez que adb.exe
est accessible via la variable PATH
de Windows.
- USB Debugging activé sur votre appareil Android : Assurez-vous que le mode développeur et le débogage USB sont activés.
2. Configurer Windows pour exécuter ADB
- Ouvrez un terminal
cmd
ouPowerShell
et exécutez :
adb kill-server
adb -a -P 5037 nodaemon server start
- Cela assure que le serveur ADB tourne sur toutes les interfaces réseau de Windows, y compris celle accessible depuis WSL2.
- Vérifiez que votre appareil est détecté :
adb devices
Vous devriez voir une liste des appareils connectés.
3. Configurer WSL2 pour utiliser le serveur ADB de Windows
L’idĂ©e est de faire pointer WSL2 vers le serveur ADB de Windows en rĂ©cupĂ©rant dynamiquement l’adresse IP de l’hĂŽte Windows.
DĂ©tection automatique de l’IP de Windows
Dans WSL2, exĂ©cutez la commande suivante pour obtenir l’IP de Windows :
ip route | awk '/^default via / {print $3}'
Ajoutez maintenant ces lignes Ă votre ~/.bashrc
ou ~/.zshrc
pour que la connexion soit automatique à chaque démarrage :
# Détecter automatiquement l'adresse IP de l'hÎte Windows
export WSL_HOST_IP=$(ip route | awk '/^default via / {print $3}')
export ADB_SERVER_SOCKET="tcp:$WSL_HOST_IP:5037"
Rechargez le fichier de configuration :
source ~/.bashrc # ou source ~/.zshrc si vous utilisez zsh
4. Vérifier la connexion ADB depuis WSL2
Maintenant que tout est configuré, testons la connexion :
adb devices
Vous devriez voir la liste des appareils détectés, ce qui signifie que WSL2 communique correctement avec ADB sous Windows.
5. Dépannage
Si l’appareil ne s’affiche pas, essayez les solutions suivantes :
- Vérifiez que le serveur ADB tourne bien sur Windows :
adb kill-server
adb -a -P 5037 nodaemon server start
- Redémarrez ADB sur WSL2 :
adb kill-server
adb start-server
- Assurez-vous que l’IP rĂ©cupĂ©rĂ©e par WSL2 est correcte :
echo $WSL_HOST_IP
- Testez ensuite la connexion directe :
nc -zv $WSL_HOST_IP 5037
- Si la connexion échoue, vérifiez votre pare-feu Windows.
Conclusion
En suivant ces Ă©tapes, vous pouvez dĂ©sormais utiliser ADB sous WSL2 tout en profitant des outils et scripts disponibles dans votre environnement Linux. Cette configuration est idĂ©ale pour les dĂ©veloppeurs Android qui souhaitent travailler dans un environnement UNIX sans perdre l’accĂšs aux outils Windows.
Avec cette approche, plus besoin d’installer ADB sous WSL2 ni de configurer des accĂšs USB complexes. Vous avez maintenant un environnement de dĂ©veloppement Android fluide et fonctionnel sous WSL2 ! đ