由于项目中用到的很多库都已经升级到nullsafety,但是项目sdk还停留在2.10.0,SDK升级之后导致工程一片飘红,无法使用,故而需要升级到NullSafety,然后SDK才能正常进行升级
1、现有工程FlutterSDK 2.0.1版本
2、SDK环境 >=2.10.0 < 3.0.0
3、工程中引用的三方库有nullsafety版本,还有一些举步不前的版本,没有可引用的nullsafety方案
工程大概有600多个dart文件,错综复杂,尝试升级N次,每次更换SDK之后,到处红,放弃,不再更新
鉴于Flutter的发展以及项目的长期高效,最终决定升级SDK版本,升级项目为NullSafety项目,接下来分享一下自己升级的心得体会,希望能够帮到大家。
升级NullSafety步骤:(sdk在2.10.0之前操作以下)
首先,不建议大家直接就去执行dart migrate,建议大家先根据自己引入的三方SDK,看一下SDK现有支持情况,是否都可以升级到NullSafety,如果有个别依赖库不支持,建议大家找到替代的三方库依赖,实在没有替代方案,建议大家把该依赖库抽离出来,先把依赖库升级到NullSafety,接下来,依赖库都满足条件后,看下代码是否有报错,因为升级库之后,代码使用方式可能发生改变。
其次,终端执行 dart migrate,此时没有其他报错信息,就根据终端提示,继续执行dart pub outdated --mode=null-safety 此时会列出所有依赖库的合适NullSafety版本,此时终端已有提示,无需自己手动去更新替换版本,执行命令即可,此时所有依赖库均已按照要求达到NullSafety标准
最后一步:继续执行dart migrate,顺利的话就会拿到一个本地127.0.0.1生成的变更路径
打开既可以看到所有的dart升级NullSafety的具体变化,大家点击同意即可,apply,之后会发现工程的sdk版本变更为了最低2.12.0,所有的dart代码都加了很多?号的修饰
最最后:就是升级之后的一些优化项和一些小错误,毕竟自动升级不是那么完美,大家要根据需求去修改一下,正常跑起来,即可!
参照官方:https://www.bilibili.com/video/av799460080/
祝大家,工作开心,事事顺意!

Flutter低版本升级NullSafety相关推荐

  1. macOS系统低版本升级问题处理纪录

    苹果电脑低版本升级踩坑纪录 存在问题 解决方法 存在问题 存在问题1⃣️: App Store无法搜索到可用户升级的系统软件 存在问题2⃣️: 安装时提示应用程序副本已损坏无法安装 解决方法 对于问题 ...

  2. openssh 低版本升级到OpenSSH 8.5p1版本的方法

    openssh 低版本漏扫后漏洞问题修复方法说明: 问题说明:         centos系统,openssh版本过低,有一些中高的漏洞需要通过升级openssh版本才能够进行解决,所以编写该方法进 ...

  3. JIRA 从低版本升级到高版本(3.6.2-6.0.8)

    前言: JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域. 公司原来用的是JIRA 3.6.2版本, ...

  4. JIRA 从低版本升级到高版本(3 6 2- 6 0 8)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 前言: ...

  5. 2020 腾讯Techo Park - Flutter与大前端的革命

    大家好我是 <Flutter开发实战详解> 的作者郭树煜,很高兴今天有机会在这里和大家分享关于 Flutter 和大前端的话题,今天我主要就从 Flutter .大前端和写作 这三个方面给 ...

  6. 如何把SQLServer数据库从高版本降级到低版本?

    原文: 如何把SQLServer数据库从高版本降级到低版本? 由于目前还广泛使用着SQLServer2000,很多公司又想使用新的SQLServer,从而直接[分离/附加]或者[备份/还原]数据库,在 ...

  7. 【错误记录】Flutter 编译报错 ( The parameter ‘‘ can‘t have a value of ‘null‘ because of its type, but the im )

    文章目录 一.报错信息 二.解决方案 一.报错信息 打开了一个去年写的 Flutter 项目 , 发现直接报错 ; The parameter 'icon' can't have a value of ...

  8. Sinfor AC版本升级需要注意的地方

            深信服版本升级的话需要用专门的客户端软件,还要从sinfor的网站上下载相关的升级包,这个升级操作不是想做就可以做的,首先要确认硬件是不是支持升级,如果可以的话还要查看当前的版本,确定 ...

  9. surface pro2 黑苹果适配驱动 内容包含flutter xcode mac

    先说明 版本是Flutter1.20 xcode11.3.1 mac 10.14.5 驱动相关 1.黑苹果的10.15.6装过 但是电源驱动不识别 导致电量显示1%或者0% 试过一天调clover c ...

最新文章

  1. JSP Tomcat8.0运行连接池时发生异常【AbstractMethodError oracle.jdbc.driver.T4CConnection.isValid(I)Z】...
  2. 迈向成功的关键在于执行(摘自李开复博士的《做最好的自己》)
  3. bzoj 4832 抵制克苏恩
  4. 【ORACLE SQL 语言】SQL语言四大类
  5. iOS逆向之深入解析如何Hook所有+load方法及Category的处理
  6. Vue项目实战06:nprogress页面加载进度条
  7. 知道自己想要什么,保持自己的节奏。
  8. SAP ABAP SQL的execution plan和cache
  9. 删除含有关键词的文件_AweEraser——macOS Catalina最佳的文件粉碎机
  10. 建立数字化、学习型人事平台,HR 与业务终于不再「隔空对话」
  11. Bootstrap插件通过noConfllict 避免冲突
  12. SHA-3的获胜者:keccak - 在 3GPP TS 35.231、FIPS 202 和 SP 800-185 中标准化
  13. Axure谷歌浏览器Chrome扩展程序下载及安装方法
  14. Spark SQL External DataSource外部数据源
  15. leetcode—14.链表反转类题目python解答
  16. 【解题报告】【HODJ1231】【最大子序列和】最大连续子序列
  17. windbg+vm双机调试 waiting to reconnect 无法连接问题,解决办法
  18. Python课堂点名器,妈妈再也不会担心我被老师点名了
  19. 2022年最新最全uniapp入门学习,零基础入门uniapp到实战项目,unicloud数据后台快速打造uniapp小程序项目
  20. PS之如何直接提取其他窗口或网页颜色

热门文章

  1. O2OA V4 Build 11.13 发布! 支持语音办公、微信钉钉消息群发
  2. git——04 远程仓库/标签/别名
  3. 【Unity3D 教程系列第 12 篇】如何用Unity写一个简易的计时器工具?
  4. 深究跨dll的资源分配和释放问题
  5. xmd后缀名改mp3_xmd文件怎么打开 - 狸窝
  6. 211院校计算机考研难度排名,全国211院校考研难度详细分析!建议收藏!
  7. CISSP 考试知识要点总结
  8. 友好城市(线性dp)
  9. 全景图剪切程序Sphere2Cube(一张全景生成六张立方体天空盒图Cubmap)
  10. my-view-isnt-reflecting-changes-ive-made-to-the-underlying-tables