一、查看当前Flutter与Dart版本
升级dart sdk和升级flutter sdk是不一样的,两者千万不要搞混了。
废话不多说,其实我就想说一句,dart sdk不建议升级。
为什么这么说呢,原因很简单,因为flutter sdk中自带了匹配flutter sdk版本的dart sdk(flutter sdk和dart sdk的版本要匹配,不是任意的dart sdk版本都能匹配任意的flutter sdk版本,这一点官方已经帮我们做了。在你下载的flutter sdk中就自带了匹配版本的dart sdk)。如果强行手动去升级dart sdk会报错,flutter项目都会出问题的。
flutter与Dart的匹配:https://flutter.cn/docs/development/tools/sdk/releases?tab=macos
1 | qian@qiandeMacBook-Pro ~ % dart --version |
二、升级到3.0.0
Flutter 3.0 升级涉及的主要三方库整理如下:
| 三方库 | 功能简述 | 当前版本 | 最新版本 | 官方开始支持 flutter3.0的版本 | 备注 |
|---|---|---|---|---|---|
| pull_to_refresh | 下拉刷新上拉加载 | 2.0.0 | 2.0.0 | 无 | |
| flutter_easyrefresh | 下拉刷新上拉加载 | 2.2.1 | 2.2.1 | 无 | |
| marquee | 跑马灯 | 2.2.0 | 2.2.2 | 2.2.2(5.19) | |
| fading_edge_scrollview | 构建具有淡入淡出边缘的可滚动视图 marquee中依赖 | 2.0.1 | 2.0.1 | 无 | |
| photo_manager | 相册相关插件 | 2.0.8 | 2.1.1 | 2.1.0+2(5.13) | |
| wechat_assets_picker | 相册选择照片 | 7.2.0 | 7.3.0 | 7.3.0(5.13) | |
| wechat_camera_picker | 相机拍摄照片 | 3.1.0 | 3.2.0+1 | 3.2.0+1(5.13) | |
| extended_image | 图片浏览 | 6.0.3 | 6.2.1 | 6.2.0(5.12) | |
| extended_image_library | 图片浏览 | 3.1.4 | 3.3.0 | 3.3.0(5.12) | |
| reorderables | 拖曳排序 | 0.4.4 | 0.5.0 | 0.5.0(5.12) | |
| cached_network_image | 图片缓存底层库 | 3.2.0 | 3.2.1 | 3.2.1(5.16) | |
| flutter_easyloading | loading | 3.0.1 | 3.0.5 | 3.0.5(5.23) | |
| tim_ui_kit_lbs_plugin | 地图位置插件 | 1.1.2 | 1.1.2 | 无 | |
| bruno | 贝壳UI库 | 2.0.0 | 2.2.0 | 无 | |
| scroll_to_index | 固定/可变行高的滚动 | 2.1.1 | 3.0.1 | 3.0.0 | |
| scrollable_positioned_list | |||||
| scroll_to_index](https://pub.dev/packages/) | |||||
| scroll_to_index](https://pub.dev/packages/) | |||||
上述控件计划处理方案:
1、已支持的,直接升级到,并升级其依赖到的相关库
2、不支持且需要的,进行手动支持,如tim_ui_kit_lbs_plugin等
3、不支持但冗余的,合并减少,如pull_to_refresh和flutter_easyrefresh
4、不支持但冗余且被其他app使用率不高的,从项目中逐步移除,如bruno