WSL2(Ubuntu)+Windows环境下Flutter/Dart/Android Studio配置求助
WSL2 Ubuntu + Windows Android Studio 模拟器 配置 Flutter/Dart 完整教程
核心逻辑:WSL2与Windows是隔离环境,要让WSL内的Flutter调用Windows的ADB和模拟器,需打通跨环境的ADB连接,同时让Flutter指向Windows端的Android SDK。
一、Ubuntu(WSL2)端安装Dart与Flutter
- 更新包源:
sudo apt update - 安装Dart:
sudo apt install dart,验证安装:dart --version - 安装Flutter:
- 下载稳定版SDK(可替换为最新版本号):
wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.16.4-stable.tar.xz - 解压到个人开发目录:
mkdir -p ~/development && tar xf flutter_linux_3.16.4-stable.tar.xz -C ~/development - 配置环境变量:编辑
~/.bashrc(使用zsh则编辑~/.zshrc),添加:export PATH="$PATH:$HOME/development/flutter/bin" export PATH="$PATH:$HOME/.pub-cache/bin" - 生效配置:
source ~/.bashrc,验证安装:flutter --version
- 下载稳定版SDK(可替换为最新版本号):
二、打通WSL到Windows的ADB连接
这是解决flutter doctor找不到ADB、无法识别模拟器的关键步骤:
- 配置Windows端ADB环境变量:
- 打开Android Studio,找到SDK默认路径:
C:\Users\<你的Windows用户名>\AppData\Local\Android\Sdk - 进入
platform-tools目录,将该路径添加到Windows系统环境变量PATH中,重启PowerShell后验证:adb --version能正常输出版本即完成
- 打开Android Studio,找到SDK默认路径:
- 在WSL中映射Windows的ADB:
- 创建软链接指向Windows的adb.exe(替换为你的Windows用户名):
sudo ln -s /mnt/c/Users/<你的Windows用户名>/AppData/Local/Android/Sdk/platform-tools/adb.exe /usr/local/bin/adb - 给软链接添加执行权限:
sudo chmod +x /usr/local/bin/adb - 验证WSL端ADB:
adb --version,能显示Windows端ADB版本即成功
- 创建软链接指向Windows的adb.exe(替换为你的Windows用户名):
- 配置ADB跨环境通信:
- 在Windows PowerShell中重启ADB并设置监听:
adb kill-server && adb start-server && adb tcpip 5037 - 在WSL中配置ADB服务器地址:编辑
~/.bashrc,添加:
(export ADB_SERVER_SOCKET=tcp:$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):5037/etc/resolv.conf中的nameserver是WSL可访问的Windows主机IP,无需手动修改) - 生效配置:
source ~/.bashrc,执行adb devices,应能看到Windows端的模拟器
- 在Windows PowerShell中重启ADB并设置监听:
三、让Flutter识别Windows的Android SDK
- 给Flutter指定Windows SDK路径:编辑
~/.bashrc,添加(替换为你的Windows用户名):
生效配置:export ANDROID_SDK_ROOT=/mnt/c/Users/<你的Windows用户名>/AppData/Local/Android/Sdksource ~/.bashrc - 处理SDK许可:运行
flutter doctor --android-licenses,全程输入y接受所有许可 - 启动Windows端Android模拟器,执行
flutter devices,模拟器应出现在设备列表中
四、VSCode(WSL环境)调试配置
- 在VSCode的WSL窗口中,安装Flutter和Dart插件
- 打开Flutter项目,按
F5启动调试,选择识别到的模拟器即可
常见问题排查
flutter devices无法识别模拟器:- 确认Windows模拟器已启动,
adb devices在Windows和WSL中均能检测到设备 - 重启ADB:Windows端执行
adb kill-server && adb start-server,WSL端执行adb kill-server后重新查询设备 - 检查环境变量:执行
echo $ANDROID_SDK_ROOT和echo $ADB_SERVER_SOCKET确认路径正确
- 确认Windows模拟器已启动,
- Flutter提示缺少SDK组件:
- 打开Windows的Android Studio SDK Manager,确保安装了对应版本的
Android SDK Platform和Android SDK Build-Tools
- 打开Windows的Android Studio SDK Manager,确保安装了对应版本的
内容的提问来源于stack exchange,提问作者Loris_R
相关产品推荐
相关产品推荐

