📌 前言

这篇文章记录了我从零开始,在 Windows 10 上搭建 Flutter Android 开发环境的全过程。期间踩了不少坑,我把遇到的问题和解决方案都整理出来,希望能帮你少走弯路。


一、环境概述

项目 版本/信息
操作系统 Windows 10 企业版 LTSC 21H2
Flutter SDK 3.44.9 (stable)
Java OpenJDK 17 (Temurin)
Android SDK API 35 / 36
IDE VS Code
目标设备 Android 真机 / 模拟器

二、下载与安装

2.1 Flutter SDK

下载地址:

  • 官方:https://docs.flutter.dev/install
  • 国内镜像(推荐):https://flutter.cn

安装步骤:

  1. 下载 flutter_windows_xxx-stable.zip
  2. 解压到 F:\flutter_windows_3.44.9-stable\flutter(路径中不要有中文和空格)
  3. bin 目录添加到系统环境变量 Path

2.2 Java JDK 17

下载地址: https://adoptium.net/temurin/releases/

选择:

  • Operating System: Windows
  • Architecture: x64
  • Version: 17 (LTS)
  • Package Type: JDK

⚠️ 重要提示:不要安装 Java 25 或更高版本,Android SDK 工具只兼容 Java 17。

2.3 Android 命令行工具

下载地址(国内镜像):

https://dl.google.com/android/repository/commandlinetools-win-11076708_latest.zip

如果打不开官网,也可以用:

https://googledownloads.cn/android/repository/commandlinetools-win-11076708_latest.zip

安装步骤:

  1. 创建目录 C:\AndroidSdk
  2. 解压 zip 包,确保路径为 C:\AndroidSdk\cmdline-tools\latest\bin\sdkmanager.bat

2.4 VS Code 扩展

在 VS Code 中安装 Flutter 扩展(Dart 会自动安装)。


三、环境变量配置

3.1 必需的系统变量

变量名 变量值
ANDROID_SDK_ROOT C:\AndroidSdk
JAVA_HOME C:\Program Files\Eclipse Adoptium\jdk-17.0.xx-hotspot

3.2 Path 中添加的路径

C:\AndroidSdk\cmdline-tools\latest\bin
C:\AndroidSdk\platform-tools
C:\AndroidSdk\emulator
F:\flutter_windows_3.44.9-stable\flutter\bin

📌 操作方式:右键"此电脑" → 属性 → 高级系统设置 → 环境变量 → 系统变量


四、安装 Android SDK 组件

打开 PowerShell,依次执行:

# 1. 安装平台工具
C:\AndroidSdk\cmdline-tools\latest\bin\sdkmanager.bat "platform-tools"

# 2. 安装 Android 35 平台
C:\AndroidSdk\cmdline-tools\latest\bin\sdkmanager.bat "platforms;android-35"

# 3. 安装模拟器
C:\AndroidSdk\cmdline-tools\latest\bin\sdkmanager.bat "emulator"

# 4. 安装系统镜像
C:\AndroidSdk\cmdline-tools\latest\bin\sdkmanager.bat "system-images;android-35;google_apis;x86_64"

# 5. 接受所有许可协议
C:\AndroidSdk\cmdline-tools\latest\bin\sdkmanager.bat --licenses

⏱️ 下载需要一定时间,请耐心等待进度条完成。


五、创建并启动模拟器

# 1. 列出可用设备型号
C:\AndroidSdk\cmdline-tools\latest\bin\avdmanager.bat list device

# 2. 创建模拟器
C:\AndroidSdk\cmdline-tools\latest\bin\avdmanager.bat create avd -n myPixel -k "system-images;android-35;google_apis;x86_64" -d pixel_xl

# 3. 启动模拟器
C:\AndroidSdk\emulator\emulator.exe -avd myPixel -feature WindowsHypervisorPlatform

六、验证环境

flutter doctor -v

正常输出应该看到所有项目都是 [√][!](警告可忽略)。

flutter devices

应该能看到你的 Android 设备或模拟器。


七、创建并运行 Flutter 项目

# 1. 创建项目
flutter create my_first_app

# 2. 进入项目目录
cd my_first_app

# 3. 运行
flutter run

八、常见问题与解决方案

问题 1:'sdkmanager' 不是内部或外部命令

原因: 命令行工具没有添加到 PATH。

解决: 使用完整路径运行,或将 C:\AndroidSdk\cmdline-tools\latest\bin 添加到系统 Path 中。


问题 2:Error: A JNI error has occurred... class file version 61.0

原因: Java 版本不对,SDK 工具需要 Java 17,但你用的是 Java 8。

解决: 卸载旧版本 Java,安装 OpenJDK 17。

java -version  # 确认版本为 17

问题 3:PANIC: CPU Architecture 'arm' is not supported

原因: AVD 配置文件中的 CPU 架构与镜像不匹配。

解决: 手动修改 config.ini 文件:

C:\Users\你的用户名\.android\avd\myPixel.avd\config.ini

修改或添加:

hw.cpu.arch = x86_64
hw.cpu.model = qemu64

问题 4:adb server version doesn't match this client

原因: 电脑上存在多个版本的 ADB(如手机助手自带)。

解决:

# 1. 找到所有 ADB
where adb

# 2. 杀掉所有 ADB 进程
taskkill /f /im adb.exe

# 3. 只用你下载的 ADB
C:\AndroidSdk\platform-tools\adb.exe start-server

建议: 检查系统 Path,删除指向旧 ADB 的路径。


问题 5:模拟器显示 offline

原因: ADB 连接状态异常。

解决:

C:\AndroidSdk\platform-tools\adb.exe kill-server
C:\AndroidSdk\platform-tools\adb.exe start-server
C:\AndroidSdk\platform-tools\adb.exe devices

问题 6:flutter devices 看不到模拟器或手机

原因: Flutter 没有读取到 Android SDK 路径。

解决: 在 PowerShell 中临时设置:

$env:ANDROID_SDK_ROOT = "C:\AndroidSdk"
$env:PATH = "C:\AndroidSdk\platform-tools;$env:PATH"
flutter devices

或者在 VS Code 底部状态栏直接选择设备。


问题 7:Timeout waiting to lock build logic queue

原因: Gradle 构建锁被其他进程占用。

解决:

# 杀掉占用进程
taskkill /PID 6884 /F

# 删除锁文件
Remove-Item -Path "项目路径\android\.gradle\noVersion\buildLogic.lock" -Force

# 清理后重试
flutter clean
flutter run

问题 8:Gradle 下载依赖太慢

原因: 默认从国外仓库下载。

解决: 修改 android/build.gradle.kts,添加阿里云镜像:

allprojects {
    repositories {
        maven { url = uri("https://maven.aliyun.com/repository/public") }
        maven { url = uri("https://maven.aliyun.com/repository/google") }
        maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }
        google()
        mavenCentral()
    }
}

问题 9:VS Code 提示找不到 Flutter SDK

原因: dart.flutterSdkPath 配置不正确。

解决:settings.json 中添加:

{
    "dart.flutterSdkPath": "F:\\flutter_windows_3.44.9-stable\\flutter"
}

九、总结

完整的环境构成:

Flutter SDK + Java 17 + Android SDK + VS Code + 模拟器/真机

关键经验:

  1. 环境变量是灵魂,一定要配好 ANDROID_SDK_ROOT
  2. Java 版本必须用 17,别用 25
  3. 网络慢时,记得配置 Gradle 镜像
  4. 遇到 ADB 问题,先杀进程再重启服务
  5. PowerShell 比 CMD 更好用(环境变量语法不同)

十、常用命令速查

命令 用途
flutter doctor -v 检查环境状态
flutter devices 列出可用设备
flutter emulators 列出模拟器
flutter emulators --launch myPixel 启动模拟器
flutter create 项目名 创建项目
flutter run 运行项目
flutter clean 清理构建缓存
adb devices 查看 ADB 连接设备
adb kill-server 重启 ADB 服务

希望这篇文章能帮你顺利完成 Flutter 开发环境的搭建。如果有其他问题,欢迎留言交流!😊

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐