一、升级前的准备工作
备份项目
- 使用Git提交当前所有修改:
git commit -am "Pre-upgrade backup"
- 或直接复制项目文件夹
- 使用Git提交当前所有修改:
查看当前环境信息
flutter --version flutter doctor
二、升级Flutter SDK到指定版本
方法1:通过版本管理工具升级(推荐)
切换发布渠道
# 查看可用渠道:stable/beta/dev/master flutter channel stable
获取最新代码
flutter upgrade --force
切换到特定版本
cd <flutter-sdk-path> git fetch --tags git checkout tags/3.24.0 # 替换为目标版本 flutter doctor
方法2:使用fvm管理多版本
安装fvm
dart pub global activate fvm
安装指定版本
fvm install 3.24.0
设置项目版本
fvm use 3.24.0 --force
三、更新项目配置
修改pubspec.yaml
environment: sdk: ">=3.24.0 <4.0.0" flutter: ">=3.24.0"
升级依赖包
flutter pub outdated # 查看过期的依赖 flutter pub upgrade --major-versions
四、处理版本变更
查阅官方迁移指南
- 访问 https://flutter.dev/docs/release/breaking-changes
- 查看对应版本的迁移说明
常见需要检查的修改点
- Widget属性变更
- API签名变化
- 弃用方法的替换
- 平台代码变更(Android/iOS)
五、测试验证
基础功能测试
flutter clean flutter pub get flutter run
专项测试
flutter test # 单元测试 flutter drive --target=test_driver/app.dart # 集成测试
六、常见问题解决方案
Q1:出现uses-sdk:minSdkVersion 16 cannot be smaller than...
错误
- 修改android/app/build.gradle:
minSdkVersion 21 # 根据Flutter新版本要求调整
Q2:依赖包版本冲突
- 使用依赖覆盖:
dependency_overrides: package_name: ^x.y.z
Q3:iOS构建失败
- 执行:
rm -rf ios/Podfile.lock cd ios && pod install --repo-update
七、版本回滚(如果需要)
cd <flutter-sdk-path>
git checkout tags/previous_version
flutter doctor
最佳实践建议
- 使用CI/CD自动化测试
- 在升级前后运行自动化测试套件
- 逐步升级策略
- 不要跨多个大版本升级(如2.x→3.x建议分阶段升级)
- 关注长期支持版本
- 优先选择LTS版本进行升级
通过遵循这些步骤,您可以安全高效地将Flutter项目升级到目标版本。建议在重大版本升级后持续监控应用性能至少24小时,确保没有隐藏问题。遇到特殊问题时,可以访问Flutter社区寻求帮助。