环境准备:Flutter SDK安装、Android Studio配置、多版本兼容性检查
说实话,很多团队在迁移项目时,第一步就栽在了环境配置上。我见过有人花了两天装Flutter,结果发现版本和现有Android项目对不上,又得重来。这一章,我就把我在多个项目中踩过的坑、总结的经验,一次性给你讲清楚。
Flutter SDK安装:选对版本是关键
先说说SDK安装。你可能会想,这有什么难的?下载、解压、配环境变量,三步搞定。但问题往往出在版本选择上。
我个人习惯:不要一上来就装最新的stable版本。为什么呢?因为你的Android项目可能还在用较老的Gradle或AGP版本,Flutter太新反而会冲突。我建议你先去flutter.dev看看release notes,确认一下当前稳定版对Android的最低要求。
核心原则:Flutter版本 ≤ 你Android项目能承受的最高版本
安装步骤其实很简单,我直接给你列出来:
- 下载Flutter SDK压缩包(我一般选Windows/macOS对应的zip)
- 解压到非中文路径,比如
C:\flutter或/Users/你的名字/flutter - 配置环境变量:把
flutter/bin加到PATH里 - 运行
flutter doctor检查环境
嗯,这里要注意:flutter doctor 会告诉你缺什么,但它不会告诉你版本冲突。我遇到过好几次,doctor显示绿色,一跑项目就报错。所以别太依赖它。
Android Studio配置:别漏了这几个插件
Android Studio大家都很熟了,但为了Flutter,你得额外装点东西。
必备插件清单:
- Flutter插件:提供代码补全、热重载、调试支持
- Dart插件:Flutter依赖Dart语言,这个必须装
- Android SDK:确保你装了API 34或更高版本(我建议至少API 33)
我曾经在配置时漏掉了Dart插件,结果写了半天代码,发现语法高亮都没有。后来才意识到,Flutter插件依赖Dart插件,但Android Studio不会自动帮你装。你得手动去插件市场搜一下。
小技巧:装完插件后,重启Android Studio,然后打开一个Flutter项目试试。如果右下角出现“No Flutter SDK configured”的提示,说明路径没配好。去Settings → Languages & Frameworks → Flutter里指定SDK路径就行。
多版本兼容性检查:这是最容易翻车的地方
好了,SDK装了,Studio配了,你以为万事大吉?不,真正的坑在这里。
你的Android项目可能用了某个版本的Gradle、AGP、Kotlin,而Flutter对这些都有要求。我直接给你一张表,这是我在多个项目中验证过的兼容组合:
| Flutter版本 | 推荐AGP版本 | 推荐Gradle版本 | 最低Kotlin版本 |
|---|---|---|---|
| 3.10.x | 7.4.x | 7.6.x | 1.8.0 |
| 3.13.x | 8.1.x | 8.0.x | 1.9.0 |
| 3.16.x | 8.3.x | 8.4.x | 1.9.22 |
为什么会这样?因为Flutter底层依赖Android的构建系统,AGP版本太旧,Flutter的新特性可能用不了;AGP版本太新,又可能和你的现有项目冲突。说白了,这就是个平衡游戏。
避坑指南:我曾经把一个Flutter 3.16的项目集成到AGP 7.4的Android项目里,结果编译时直接报“Unsupported class file major version”。后来查了半天,发现是AGP版本太低,不支持Flutter生成的Java 17字节码。最后只能把AGP升到8.3才解决。
检查兼容性的具体方法:
- 打开Android项目的
build.gradle(项目级),看classpath里的AGP版本 - 打开
gradle-wrapper.properties,看Gradle版本 - 对照上面的表格,确认是否在兼容范围内
如果发现不匹配,我的建议是:优先升级Gradle和AGP,而不是降级Flutter。因为Flutter的新版本通常修复了旧版的bug,而且性能更好。当然,升级前记得备份项目。
知识体系总览
为了让你更直观地理解整个环境准备流程,我画了一张图:
你看,整个流程其实不复杂,但每一步都可能埋坑。我的建议是:先花半小时把环境配好,再开始写代码。别像我以前那样,项目写到一半才发现环境不对,那才叫欲哭无泪。
最后一个小提醒:如果你用的是Windows,记得把Flutter SDK路径加到系统变量里,而不是用户变量。我遇到过有人加错了,结果命令行能跑,Android Studio却找不到。嗯,这种细节往往最坑人。
公众号:蓝海资料掘金营,微信deep3321