WSL Ubuntu环境下Expo启动Android预览时ADB与SDK路径问题求助
解决WSL Ubuntu下Expo无法识别Android SDK及设备的问题
1. 修正环境变量(使用官方推荐变量名)
Android官方目前优先使用ANDROID_SDK_ROOT而非ANDROID_HOME,更新你的~/.zshrc配置:
export ANDROID_SDK_ROOT="/mnt/c/Users/quent/AppData/Local/Android/Sdk" export PATH="$ANDROID_SDK_ROOT/platform-tools:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/tools/bin:$PATH"
保存后执行source ~/.zshrc生效,再通过echo $ANDROID_SDK_ROOT和echo $PATH确认路径已正确加入环境变量。
2. 卸载WSL自带adb,链接Windows版本adb
你之前安装的android-tools-adb会与Windows端adb冲突,先卸载:
sudo apt-get remove --purge android-tools-adb
然后为Windows端adb创建软链接,让WSL直接调用Windows版本:
sudo ln -s /mnt/c/Users/quent/AppData/Local/Android/Sdk/platform-tools/adb /usr/bin/adb
执行adb version验证,能输出Windows版adb的信息即配置成功。
3. 打通WSL与Windows模拟器的连接
Windows模拟器默认不对外暴露端口,需手动做端口转发:
- 打开Windows命令提示符(CMD),执行:
adb kill-server adb start-server - 在WSL终端执行:
(如果Windows端adb connect localhost:5555adb devices显示的模拟器端口为emulator-XXXX,替换为localhost:XXXX即可) - 用
adb devices确认WSL能识别到模拟器设备。
4. 手动为Expo指定SDK路径
如果Expo仍无法自动识别SDK,启动npx expo start --tunnel后按Shift + m打开Expo菜单,选择"Configure Android SDK path",输入WSL格式路径/mnt/c/Users/quent/AppData/Local/Android/Sdk。
5. 重启重试
- 关闭当前Expo服务,重新执行
npx expo start --tunnel - 重启Android模拟器确保其处于运行状态
- 确认
adb devices能看到设备后,按"a"键尝试打开Expo
内容的提问来源于stack exchange,提问作者Quentin
相关产品推荐
相关产品推荐

