背景
dart flutter安装记录,安装到wsl2上,因为wsl2上没有虚拟机,安卓虚拟机在宿主机上安装。
正文
官网
docs.flutter.dev/install/qui...
前置条件
使用vscode连接上wsl
vscode 安装插件
dart

flutter

wsl安装 sdk
docs.flutter.dev/install/man...
arduino
sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa

arduino
curl -O https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.47.1-stable.tar.xz

bash
mkdir ~/develop
tar -xf /tmp/flutter_linux_3.47.1-stable.tar.xz -C ~/develop/

bash
echo 'export PATH="$HOME/develop/flutter/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

css
flutter --version
dart --version


检查下flutter的状态
上面安装完sdk后最好重启下vscode,如果是用vscode连接的wsl

less
[flutter] flutter doctor -v
[✓] Flutter (Channel stable, 3.47.1, on Ubuntu 24.04.4 LTS 6.18.33.2-microsoft-standard-WSL2, locale C.UTF-8) [136ms]
• Flutter version 3.47.1 on channel stable at /home/ubuntu/develop/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 6655482ec0 (3 days ago), 2026-08-19 10:07:23 -0700
• Engine revision 5d53178869
• Dart version 3.13.1
• DevTools version 2.60.0
• Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop, enable-windows-desktop, enable-android, enable-ios, cli-animations, enable-native-assets, enable-record-use, enable-swift-package-manager, omit-legacy-version-file, enable-lldb-debugging, enable-uiscene-migration
[✗] Android toolchain - develop for Android devices [110ms]
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/to/linux-android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
`flutter config --android-sdk` to update to that location.
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome) [98ms]
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✗] Linux toolchain - develop for Linux desktop [964ms]
✗ clang++ is required for Linux development.
It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/
• cmake version 3.28.3
• ninja version 1.11.1
• pkg-config version 1.8.1
✗ GTK 3.0 development libraries are required for Linux development.
They are likely available from your distribution (e.g.: apt install libgtk-3-dev)
• OpenGL core renderer: D3D12 (Intel(R) Iris(R) Xe Graphics)
• OpenGL core version: 4.1 (Core Profile) Mesa 25.2.8-0ubuntu0.24.04.2
• OpenGL core shading language version: 4.10
• OpenGL ES renderer: D3D12 (Intel(R) Iris(R) Xe Graphics)
• OpenGL ES version: OpenGL ES 3.0 Mesa 25.2.8-0ubuntu0.24.04.2
• OpenGL ES shading language version: OpenGL ES GLSL ES 3.00
• GL_EXT_framebuffer_blit: yes
• GL_EXT_texture_format_BGRA8888: yes
[!] Proxy Configuration [52ms]
• HTTP_PROXY is set
• NO_PROXY is 192.168.*,172.31.*,172.30.*,172.2*,172.19.*,172.18.*,172.17.*,172.16.*,10.*,127.*,*.local,localhost,*360buyimg.com,100ime-iat-api.xfyun.cn,*jd.com,*zhimg.com,*zhihu.com
• NO_PROXY contains localhost
! NO_PROXY does not contain 127.0.0.1
! NO_PROXY does not contain ::1
[✓] Connected device (1 available) [47ms]
• Linux (desktop) • linux • linux-x64 • Ubuntu 24.04.4 LTS 6.18.33.2-microsoft-standard-WSL2
[✓] Network resources [1,139ms]
• All expected network resources are available.
! Doctor found issues in 4 categories.
exit code 0
从上面可以看出来,Android目前是没法用的,下一步就配置Android的。
Android development
docs.flutter.dev/platform-in...
下载 Android Studio Quail 3 developer.android.com/studio
安装完成后打开,需要选择安装sdk的 d盘下新建一个文件夹android_sdk



erlang
Preparing "Install Sources for Android 37.0 (revision 2)".
Downloading https://dl.google.com/android/repository/source-37.0_r02.zip
"Install Sources for Android 37.0 (revision 2)" ready.
Installing Sources for Android 37.0 in D:\android_sdk\sources\android-37.0
"Install Sources for Android 37.0 (revision 2)" complete.
"Install Sources for Android 37.0 (revision 2)" finished.
Preparing "Install Android SDK Build-Tools 36 v.36.0.0".
Downloading https://dl.google.com/android/repository/build-tools_r36_windows.zip
"Install Android SDK Build-Tools 36 v.36.0.0" ready.
Installing Android SDK Build-Tools 36 in D:\android_sdk\build-tools\36.0.0
"Install Android SDK Build-Tools 36 v.36.0.0" complete.
"Install Android SDK Build-Tools 36 v.36.0.0" finished.
Preparing "Install Android SDK Platform 37.0 (revision 2)".
Downloading https://dl.google.com/android/repository/platform-37.0_r02.zip
"Install Android SDK Platform 37.0 (revision 2)" ready.
Installing Android SDK Platform 37.0 in D:\android_sdk\platforms\android-37.0
"Install Android SDK Platform 37.0 (revision 2)" complete.
"Install Android SDK Platform 37.0 (revision 2)" finished.
Preparing "Install Android SDK Platform-Tools v.37.0.1".
Downloading https://dl.google.com/android/repository/platform-tools_r37.0.1-win.zip
"Install Android SDK Platform-Tools v.37.0.1" ready.
Installing Android SDK Platform-Tools in D:\android_sdk\platform-tools
"Install Android SDK Platform-Tools v.37.0.1" complete.
"Install Android SDK Platform-Tools v.37.0.1" finished.
Preparing "Install Android Emulator v.37.1.11".
Downloading https://dl.google.com/android/repository/emulator-windows_x64-15917651.zip
"Install Android Emulator v.37.1.11" ready.
Installing Android Emulator in D:\android_sdk\emulator
"Install Android Emulator v.37.1.11" complete.
"Install Android Emulator v.37.1.11" finished.
SDK Manager found the following installed packages: build-tools;36.0.0 emulator platform-tools platforms;android-37.0 sources;android-37.0
Android SDK is up to date.
检查安卓模拟器
docs.flutter.dev/platform-in...


检查API Level of 36 has been selected. 
检查Verify that the following SDK Tools have been selected: Android SDK Build-Tools Android SDK Command-line Tools Android Emulator Android SDK Platform-Tools CMake NDK (Side by side)
没有勾选的勾选后 apply


flutter 重新检测 安卓
bash
vim ~/.bashrc
正常目录是,我前面是选择的d盘下android_sdk目录
makefile
C:\Users\<你的Windows用户名>\AppData\Local\Android\Sdk\platform-tools\adb.exe
bash
# 设置 Android SDK 根目录(注意替换成你的真实用户名)
export ANDROID_HOME="/mnt/d/android_sdk"
# 将 platform-tools 添加到 PATH 最前面,优先使用 Windows 的 adb
export PATH="$ANDROID_HOME/platform-tools:$PATH"
因为ubuntu不能识别exe的,所以需要挨个添加软连接
bash
cd /mnt/d/android_sdk/platform-tools
ln -s adb.exe adb
cd /mnt/d/android_sdk/build-tools
# 遍历所有版本目录
for version in */; do
cd "$version"
# 为所有 .exe 文件创建对应的无后缀软链接(如果软链接不存在)
for file in *.exe; do
base=$(basename "$file" .exe)
if [ ! -e "$base" ]; then
ln -s "$file" "$base"
chmod +x "$base" "$file"
fi
done
cd ..
done

安装jdk
sql
sudo apt-get update
sudo apt install openjdk-17-jdk
bash
vim ~/.bashrc
bash
# 设置 JAVA_HOME,路径指向你安装的 JDK 17
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
# 将 Java 的可执行文件路径添加到 PATH 中
export PATH="$JAVA_HOME/bin:$PATH"
bash
source ~/.bashrc


上面需要同意协议 (这一步天坑,23工具的提示废弃了,新的又没同意协议的地方。。坑爹啊)
vbnet
WARNING: The SDK Manager CLI tool (sdkmanager) is deprecated. Android CLI will be used instead.
The 'android' binary can also be found in the cmdline-tools directory, and 'android sdk' is the replacement for 'sdkmanager'.
To learn more about the Android CLI and how to use it, see the documentation (https://d.android.com/tools/agents/android-cli)
Warning: The --licenses option is no longer needed.
直接执行会报错 www.reddit.com/r/flutterhe...

命令行工具降级到22版本

宿主机也安装jdk,使用powershell
winget install Microsoft.OpenJDK.17
更新.bashrc
bash
export PATH="$ANDROID_HOME/cmdline-tools/22.0/bin:$PATH"
bash
cd /mnt/d/android_sdk/cmdline-tools/22.0/bin
ln -s android.exe android
bash
vim sdkmanager
#!/bin/bash
/mnt/c/Windows/System32/cmd.exe /c "D:\android_sdk\cmdline-tools\22.0\bin\sdkmanager.bat" "$@"

