Flutter 版本2.5.3
1、升级依赖的插件版本pubspec.yaml(包括example),pub get 解决依赖冲突
2、pubspec.yaml所在路径下执行 dart pub upgrade --null-safety 检查是否所在flutter工程依赖库是否都升级到了空安全版本
example示例需要进入example路径下检查

3、检查结果如下,说明已经具备升级条件

4、如果出现 这种情况优先把项目中的报错先解决直接,把依赖修改后直接执行步骤5

5、执行 dart migrate 一键升级(example也需要执行升级),执行后生成一个链接如下,点击链接查看升级改动
http://127.0.0.1:60278/Users/you/project/mypkg.console-simple?authToken=Xfz0jvpyeMI%3D
6、升级后会有报错,解决报错问题
已知报错:
1、List默认构造方法删除,改用[];
main.dart文件main方法第一行增加CustomFlutterBinding();

2、flutter clean,删除所有 pubspec.lock文件 ,pub get
3、FutureOr报错引入头文件、import 'dart:async';
4、属性用优先用late 或者 ?声明,在确定不为空情况才用!
网友评论