You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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:
    1. 下载稳定版SDK(可替换为最新版本号):wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.16.4-stable.tar.xz
    2. 解压到个人开发目录:mkdir -p ~/development && tar xf flutter_linux_3.16.4-stable.tar.xz -C ~/development
    3. 配置环境变量:编辑~/.bashrc(使用zsh则编辑~/.zshrc),添加:
      export PATH="$PATH:$HOME/development/flutter/bin"
      export PATH="$PATH:$HOME/.pub-cache/bin"
      
    4. 生效配置:source ~/.bashrc,验证安装:flutter --version

二、打通WSL到Windows的ADB连接

这是解决flutter doctor找不到ADB、无法识别模拟器的关键步骤:

  1. 配置Windows端ADB环境变量:
    • 打开Android Studio,找到SDK默认路径:C:\Users\<你的Windows用户名>\AppData\Local\Android\Sdk
    • 进入platform-tools目录,将该路径添加到Windows系统环境变量PATH中,重启PowerShell后验证:adb --version能正常输出版本即完成
  2. 在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版本即成功
  3. 配置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端的模拟器

三、让Flutter识别Windows的Android SDK

  1. 给Flutter指定Windows SDK路径:编辑~/.bashrc,添加(替换为你的Windows用户名):
    export ANDROID_SDK_ROOT=/mnt/c/Users/<你的Windows用户名>/AppData/Local/Android/Sdk
    
    生效配置:source ~/.bashrc
  2. 处理SDK许可:运行flutter doctor --android-licenses,全程输入y接受所有许可
  3. 启动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确认路径正确
  • Flutter提示缺少SDK组件:
    • 打开Windows的Android Studio SDK Manager,确保安装了对应版本的Android SDK Platform和Android SDK Build-Tools

内容的提问来源于stack exchange,提问作者Loris_R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:04:58