一、升級前的準備工作
-
備份項目
- 使用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社區尋求幫助。