《Flutter进阶》flutter升级空安全遇到的一些问题及解决思路

空安全出来挺久了,由于业务需求较紧,一直没时间去升级空安全,最近花了几天去升级,发现其实升级也挺简单的,不要恐惧,没有想象中的多BUG。

flutter版本从1.22.4升到3.0.5;
compileSdkVersion从19升到33(支持安卓12、13);
jdk版本从1.8升到11;
gradle版本从3.5升到7.5;

顺便把AS版本、kotlin版本、以及三四十个依赖插件通通升级到了最近版本。
跨度大范围广,也算是一次综合型的基础升级,遇到的问题比较杂,但总体也算顺利,这里把一些步骤和问题回忆记录一下,希望能帮到大家。

【主要步骤】

  • 备份代码、记录环境和工具的版本信息——目的是万一升级不成功还能回来
  • 检查可升级插件——目的是确保大部分插件都可升级,这样你的代码才能升级上去

运行 dart pub outdated --mode=null-safety


会看到有哪些库已支持空安全,如果现在还不支持空安全的,那么这个库多半是弃用了,寻找新的库吧。

tips:可以去官方插件库
搜索你弃用的那个库名,一般来说后面会有plus、v2 、new 之类的别的库,可能就是原来那个库的空安全版本。例如这个在这里插入图片描述

  • 升级插件——先解决插件问题,再升级代码
    当你确认大部分库都可以升级了,只有个别库被弃用,那么你就可以放心大胆的执行升级第三方库
    运行
    dart pub upgrade --null-safety
    去尝试升级插件。

如果过程中遇到问题,运行
dart pub update --null-safety --dry-run
去检查插件升级失败原因,挨个解决即可。

  • 代码升级——当第三方插件升级完成之后,开始升级自己的代码
    运行 dart migrate 可以直接移植你的代码,帮你自动填充很多的?和!
    如果遇到问题,说明还有库没升级到空安全,没关系,运行 dart migrate --skip-import-check 直接升级,升级完再回来解决即可。

  • JDK版本升级
    这个是因为升级到最新版本后,很多第三方库用了最新jdk编译

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值