适用环境:Windows
工具版本:Android Studio 2025 + Flutter 3.35.7 + JDK 17 + Android SDK 36
适用场景:Flutter 新项目卡顿、Gradle 构建慢、模拟器运行异常等问题。
🌈 一、JDK 与 Android SDK 的关系图
在 Project Settings → Project → Project SDK 中请选择 JDK 17;
Android API 36 只需在 build.gradle 中配置,不在这里选择。
───────────────────────────────────────────────
Flutter 工具链
(flutter build / run)
───────────────────────────────────────────────
│
▼
───────────────────────────────────────────────
Gradle 构建系统
(build.gradle / wrapper)
───────────────────────────────────────────────
│
通过 JDK 运行(Java)
┌────────────┴────────────┐
│ │
▼ ▼
─────────────────────── ────────────────────────
JDK (Java 17) Android SDK (API 36)
─────────────────────── ────────────────────────
- 提供 javac 编译器 - 提供 Android 工具链
- 运行 Gradle 构建 - 编译成 dex / APK
─────────────────────── ────────────────────────
│
▼
───────────────────────────────────────────────
Pixel 6 模拟器
(运行 APK 的 Android 环境)
───────────────────────────────────────────────
🧩 二、关键概念解析
🔹 JDK(Java Development Kit)
Gradle 的运行环境,用来执行构建逻辑、编译 Kotlin/Java 源码。
✅ 推荐使用 JDK 17(与 Gradle 8.x、AGP 8.x 最佳兼容)。
🔹 Android SDK(Software Development Kit)
包含 Android 平台 API、aapt, d8, adb 等工具,用于:
-
打包 APK
-
安装与调试
-
模拟器运行
🔹 Gradle
由 JDK 执行,是连接 Flutter 与 Android SDK 的桥梁。
🔹 Flutter CLI
命令行工具(flutter run / flutter build)触发整个构建流程。
✅ 三、推荐版本清单
| 组件 | 推荐版本 | 说明 |
|---|---|---|
| JDK | 17 | AGP 8.x 与 Gradle 8.x 完美匹配 |
| Android SDK | API 36 | 支持最新 Pixel 设备 |
| Flutter | 3.35.7 | 稳定分支,兼容性最佳 |
⚠️ JDK 21+ 增强了模块安全限制,会导致 Gradle 插件(尤其是配置缓存)因反射访问被拒,出现构建失败。
⚡ 四、配置国内镜像源(解决下载慢问题)
在中国大陆环境下,Flutter、Gradle 官方仓库极慢。
👇 以下配置可显著提速。
1️⃣ Flutter & Dart 镜像
1.1:全局镜像配置(所有项目生效)
在 PowerShell / CMD 执行:
setx PUB_HOSTED_URL "https://mirrors.tuna.tsinghua.edu.cn/dart-pub/"
setx FLUTTER_STORAGE_BASE_URL "https://mirrors.tuna.tsinghua.edu.cn/flutter"
作用:
为当前系统用户永久添加 Flutter 和 Dart 镜像环境变量。
1.2:项目内镜像配置(推荐:单项目独立 + 自动回退)
在你的 Flutter 项目根目录(与 pubspec.yaml 同级)新建文件
run_with_mirror.bat
内容如下 👇
@echo off
title Run Flutter with Mirror Fallback
cd /d %~dp0
set PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub/
set FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter
echo =====================================
echo Using Tsinghua mirrors...
echo =====================================
flutter pub get
:: 这里用 errorlevel 而不是 %errorlevel%
if errorlevel 1 (
echo =====================================
echo Mirror failed, switching to official source...
echo =====================================
set PUB_HOSTED_URL=https://pub.dev
set FLUTTER_STORAGE_BASE_URL=https://storage.googleapis.com
flutter pub get
)
echo =====================================
echo Starting Flutter app...
echo =====================================
flutter run
pause
1.3:run_official.bat(强制官方,遇到镜像缺包时手动用这个)
@echo off
title Run Flutter with OFFICIAL sources
cd /d %~dp0
set PUB_HOSTED_URL=https://pub.dev
set FLUTTER_STORAGE_BASE_URL=https://storage.googleapis.com
flutter pub get
flutter run
pause
说明:脚本里的
set只对该进程有效,不会修改你的全局 setx。
如果你已做了全局镜像,脚本里的set会覆盖全局值(仅本次运行)。
执行方式
-
双击运行
run_with_mirror.bat -
或者在终端中输入:
run_with_mirror.bat -
程序会:
-
优先使用清华镜像;
-
如果镜像缺包或同步失败 → 自动切回官方源;
-
最后执行
flutter run启动应用。
-
-
只有执行run_with_mirror.bat失败(依赖拉不下来或报错)时,再手动运行
run_official.bat
2️⃣ Android Gradle 仓库镜像
打开文件:
android/build.gradle.kts
添加国内镜像仓库:
repositories {
maven { url = uri("https://maven.aliyun.com/repository/google") }
maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }
maven { url = uri("https://maven.aliyun.com/repository/public") }
google()
mavenCentral()
}
📘 加速 Gradle 插件与依赖包下载,显著缩短首次构建时间。
3️⃣ Gradle Wrapper 加速
打开:
android/gradle/wrapper/gradle-wrapper.properties
修改为阿里云镜像:
distributionUrl=https\://mirrors.aliyun.com/gradle/distributions/gradle-8.12-all.zip
离线构建推荐:
distributionUrl=file:///G:/dev_environment/flutter_gradle/gradle-8.12-all.zip
✅ 离线模式可在无网络环境下完成完整构建。
🧩 五、配置 JDK(Java 开发环境)
1️⃣ 打开 Android Studio
2️⃣ 点击顶部菜单:
File → Project Structure…
3️⃣ 在左侧选择:Project
4️⃣ 在右侧找到:
- Project SDK: 选择 JDK 17
- Project language level: 自动匹配为 17 即可
💡 如果列表中没有 JDK 17:
点击右上角 “Add SDK” → “JDK”
选择你的 JDK 17 安装目录
Windows 示例:
C:\Program Files\Java\jdk-17
完成后点击 Apply → OK。
🧩 六、配置 Android SDK(安卓开发环境)
1️⃣ 打开菜单:
File → Settings → Languages & Frameworks → Android SDK
2️⃣ 在上方标签选择 SDK Platforms:
- 勾选 Android 16 (API Level 36)
- 点击右下角 Apply → OK 下载
3️⃣ 切换到 SDK Tools 标签:
确保以下组件被勾选并安装:
- ✅ Android SDK Build-Tools
- ✅ Android SDK Platform-Tools
- ✅ Android Emulator
- ✅ Android SDK Command-line Tools (latest)
4️⃣ 点击 OK 保存。
✅ 三、验证是否生效
在终端输入以下命令:
flutter doctor
看到以下内容表示配置成功:
[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0)
[✓] Java version: OpenJDK 17.x.x
👉 总结一句话:
打开 File → Project Structure 选 JDK 17,
打开 File → Settings → Android SDK 安装 API 36,
再执行flutter doctor检查即可。
是否希望我帮你加上这段的截图式图文版(适合放在你的 优快云 教程里,带箭头说明)?
💻 六、创建与运行虚拟机(以 Pixel 6 为例)
1️⃣ 打开模拟器管理器
路径:
Tools → Device Manager
2️⃣ 创建虚拟设备
选择:
Pixel 6 → Android 14 (API 34/35/36)
点击 Finish 保存。
3️⃣ 启动并运行项目
flutter devices
flutter run
出现以下输出说明成功:
Launching lib/main.dart on sdk gphone64 x86_64 in debug mode...
⚡ 七、Gradle 构建全面加速配置
编辑文件:
android/gradle.properties
添加以下内容:
# ⚡ Gradle 全面加速配置(Flutter + Android)
# JVM 性能优化
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# 启用守护进程与并行构建
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
# 构建缓存与配置缓存
org.gradle.caching=true
org.gradle.configuration-cache=false
# AndroidX 支持
android.useAndroidX=true
android.enableJetifier=true
# Kotlin 增量编译
kotlin.incremental=true
kotlin.caching.enabled=true
# 禁用 Lint(调试阶段)
android.lint.vital=false
# 控制台输出优化
org.gradle.console=plain
systemProp.file.encoding=UTF-8
📈 效果显著:
-
构建时间减少 40%+
-
二次编译提速 2~3 倍
-
模拟器调试更流畅
🧠 八、常用命令速查表
| 命令 | 功能 |
|---|---|
flutter doctor | 检查环境配置 |
flutter pub get | 获取依赖 |
flutter devices | 查看设备 |
flutter run | 运行项目 |
flutter clean | 清理缓存 |
flutter build apk --release | 构建正式包 |
🧩 九、最终总结
| 层级 | 组件 | 作用 | 关键配置 |
|---|---|---|---|
| 1 | Flutter SDK | 调用构建命令 | flutter run |
| 2 | Gradle | 构建系统 | android/build.gradle |
| 3 | JDK 17 | 提供 Java 运行环境 | JAVA_HOME |
| 4 | Android SDK (API 36) | 编译 Android 代码 | compileSdkVersion 36 |
| 5 | Pixel 6 模拟器 | 运行应用 | Android 虚拟设备 (AVD) |
💡 一句话总结:
JDK 17 负责编译,Android SDK 负责打包,Gradle 连接两者,Flutter CLI 统筹全局。
1327

被折叠的 条评论
为什么被折叠?



