如何在Flutter 中启用空安全

news2025/1/13 13:28:27

目录

Step 1: 开启空安全设置

Step 2:检查可升级的三方库

Step 3:升级三方库

Step 4:代码适配支持空安全


Step 1: 开启空安全设置

Flutter 2默认启用了空安全,所以通过Flutter 2创建的项目是已经开启了空安全的检查的,不知道自己是什么版本的可以通过下面命令来查看你的Flutter版本:

flutter --version

可能有的人会问,我现在已经是2.x版本的flutter了,也没见有什么特殊的啊,我怎么能确认已经开启了空安全呢?

答案:检查你的pubspec.yaml配置文件,sdk >=2.12.0表示开启空安全检查

environment:
  sdk: ">=2.12.0 <3.0.0" 

如果想关闭空安全检查,可以将SDK的支持范围调整到2.12.0以下即可,如:

environment:
  sdk: ">=2.7.0 <3.0.0"

Step 2:检查可升级的三方库

一旦项目开启了空安全检查,那么你的代码包括项目所依赖的三方库必须是要支持空安全的否则是无法正常编译的。

可以运行以下命令以了解您的项目中有哪些库需要升级到最新的空安全。

dart pub outdated --mode=null-safety

命令运行完后你会看到下面这些信息

 

红色表示不支持空安全的版本,绿色表示支持空安全的版本

如果某个库全是红色的话,多半是不维护或者废弃了,先别慌,可以去pub.flutter-io.cn上搜搜这个库有没有好心人fork实现了空安全的 ,如果没有,那就考虑考虑换库吧。。

如果你的Upgradable或者Latest大多为绿色的话,那么你就继续下一个步骤就行了,这一步主要是让你心里有个底,知道自己的三方依赖对于空安全的支持是怎么样的。

当然,有的人运行完上面的命令还会遇到另一种情况,出现这种情况的可以去买张彩票了

这表示你当前所有的第三方依赖,都已经支持了空安全!

Step 3:升级三方库

执行以下命令,升级支持空安全的三方

dart pub upgrade --null-safety

如果过程中遇到问题,运行以下命令 ,去检查升级失败的原因,挨个解决即可

dart pub update --null-safety --dry-run

Step 4:代码适配支持空安全

当三方库都升级完成之后,开始适配自己的代码

运行以下命令可以自动适配你的代码,帮你自动填充很多的?和!

dart migrate

如果遇到问题,说明还有库没升级到空安全,可以直接运行以下命令,强制适配,等完成后再解决有问题的库即可。

dart migrate --skip-import-check

不过最好还是把三方库都处理好了再适配代码空安全比较好。


最后,附上官方的升级教程,如果你还有其他问题,可以看看
Migrating to null safety | Dart

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/601694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MCS-51单片机汇编语言】期末复习总结①——常见指令汇总(题型一)

文章目录 七大寻址方式重要指令转移堆栈加减乘除位操作跳转条件转移子程序常考题型 七大寻址方式 立即寻址&#xff1a;通过一个立即数来指定存储单元的地址&#xff0c;例如#41H&#xff1b;寄存器寻址&#xff1a;Rn&#xff08;n0~7)&#xff0c;A&#xff0c;B&#xff0c…

自学软件测试,一般人我劝你还是算了吧

软件测试自学是完全可以的&#xff0c;但是这句话并不代表人人都可以自学。 想转行软件测试&#xff0c;纯自学会遇到以下8个问题&#xff1a; 1、自学需要很高的自律性&#xff0c;你能做到吗&#xff1f; 2、自学在学习过程中会碰到很多困难&#xff0c;你都能解决吗&#xf…

直播入门手册

直播除了带货&#xff0c;现在越来越成了分享知识&#xff0c;增近主播和粉近距离互动的平台。最近看到抖音上越来越多的主播进行编程经验的分享&#xff0c;这是一个很好的传播知识的方式&#xff0c;以前我们学习编程技术一般看视频&#xff0c;其实视频的互动性没有直播那么…

智能家居数据分析:语音交互为用户偏好模式,使用最高达72%

哈喽大家好&#xff0c;近些年来&#xff0c;智能家居行业的发展无比迅速&#xff0c;同时&#xff0c;最近两年来人工智能技术的不断突破&#xff0c;对智能家居有着无与伦比的推动力。本期将为大家介绍下智能家居的行业形势。 通过数据可视化平台把报表数据处理后展示出来的…

(4)NUC980 RootFs

Buildroot是一个开源的嵌入式Linux系统构建工具&#xff0c;它可以帮助用户自动化构建Linux系统的各个部分&#xff0c;包括Linux内核、库、文件系统、应用程序等。通过Buildroot&#xff0c;用户可以根据需要选择和配置所需的软件包&#xff0c;从而构建一个定制化的Linux系统…

Nginx网站服务——编译安装及系统服务添加

Nginx网站服务——编译安装及系统服务添加 一、Nginx的相关知识1.Nginx的简介2. Apache与Nginx的区别3.Apache的优势4.Nginx的优势 二、Nginx编译安装1.关闭防火墙&#xff0c;将安装nginx所需软件包传到/opt目录下2.安装相关的依赖包3.创建运行用户、组4.编译安装Nginx5.检查、…

【Rust学习】web框架 Axum,提供REST API

cargo-watch:有修改就重启服务器&#xff0c;类似java web的热部署 安装&#xff1a;cargo install cargo-watch 使用&#xff1a;cargo watch -x run 这样每次有修改就会自动重启web服务 vscode插件Thunder Client(类似postman) hello,world 建议用cargo add的方式添加 […

视频压缩存储解决方案

一、背景介绍 随着视频技术的不断发展&#xff0c;人们对视频质量和存储需求的要求也越来越高。而视频文件的大小往往会给存储和传输带来诸多困扰。因此&#xff0c;如何有效地压缩视频文件成为了一个非常重要的问题。 二、压缩算法简介 有损压缩&#xff1a;通过去除视频中的…

SpringBoot3整合SpringSecurity,实现自定义接口权限过滤

接口权限过滤是指对于某些接口或功能&#xff0c;系统通过设定一定的权限规则&#xff0c;只允许经过身份认证且拥有相应权限的用户或应用程序进行访问和操作。这种技术可以有效地保护系统资源和数据安全&#xff0c;防止未授权的用户或程序进行恶意操作或非法访问。通常情况下…

广州华锐互动:智能虚拟人运用到短视频行业能带来哪些价值?

随着科学技术的不断发展&#xff0c;虚拟数字人呈现飞跃式发展&#xff0c;各式各样的虚拟数字人进入到我们的视野&#xff0c;而同样作为新风口的短视频行业&#xff0c;也成为了人们日常生活中不可或缺的一部分。那么&#xff0c;将这两者结合起来会带来哪些变化呢&#xff1…

C#开发串口调试助手实现modbusRTU通信

今天给大家搞个项目&#xff0c;跟我来&#xff0c;走过路过不要错过&#xff0c;看大V如何玩C#工业软件开发&#xff0c;搞事的目的是&#xff1a;掌握MODBUSRTU通信协议&#xff0c;掌握简单型串口调试助手开发&#xff0c;掌握串口通信过程 硬件产品&#xff1a;串口RS232温…

中移链资源管理介绍

中移链是基于EOS底层框架&#xff0c;在满足我国信息化监管需求、合规可控的前提下&#xff0c;打造的中国移动区块链服务平台。在中移链中主要包括CPU、RAM和NET三种资源。CPU资源是用于执行智能合约的计算能力&#xff0c;RAM资源用于存储智能合约和其它数据&#xff0c;NET资…

【京东API】京东app获得JD商品详情原数据接口

京东是中国最大的综合型电商网站之一&#xff0c;其app端是用户购买商品的主要途径之一。为了更好地满足用户的需求&#xff0c;开发人员提供了商品原数据接口&#xff0c;让第三方开发者可以获取京东商品的详细信息。 开发背景&#xff1a; 随着移动设备用户数量的不断增加&a…

2023最新 如何修改appstroe的开发者名称?

1、输入账号密码登录 http://itunesconnect.apple.com 2、点击app 3、点击我的账户account 4、页面往下滑动&#xff0c;点击更新信息 5、点击提供更新信息 6、根据需要修改新的信息 Hello, I want to change the company name in Chinese, according to changed to “xxx…

MySQL内存

结构 xtradb-innodb-internals-in-drawing InnoDB存储引擎体系结构 内存结构与磁盘结构 InnoDB存储结构 内存相关参数 在MySQL中&#xff0c;可以通过一些参数来控制内存的使用和管理。以下是一些常用的控制内存的参数&#xff1a; innodb_buffer_pool_size: 这是控制InnoD…

商场室内导航制作,商场导览图怎么做的?

商场导览图怎么做的&#xff1f;现在很多商场都比较大&#xff0c;往往需要借助地图才能快速找到想要去的店铺&#xff0c;比如在商场大厅展示商场楼层规划以及楼层具体商户等&#xff0c;让消费者了解商场的整体结构&#xff0c;有逛下去的欲望。重点标记出逃生通道、厕所、进…

是时候搭建一个自己的ChatGPT 了!

ChatGPT客户端-ChatBox https://github.com/Bin-Huang/chatbox 开源的 ChatGPT API (OpenAI API) 跨平台桌面客户端&#xff0c;Prompt 的调试与管理工具&#xff0c;也可以用作 ChatGPT Plus 平替。 如需找不到下载地址&#xff0c;可以私信留言。 ChatGPT Next Web https…

MySQL 自增列使用上的一些 “坑”

文章目录 前言1. 自增列空洞1.1 手动指定2.2 分配未使用 2. 自增列监控2.1 sys 库监控2.2 通用查询 3. 一些 BUG3.1 重启失效3.2 冲突问题 前言 MySQL 的规范中&#xff0c;一般都会建议表要有主键&#xff0c;常使用自增列作为主键字段&#xff0c;这和 MySQL 属于聚簇索引表…

【FlatpanelsHD】HDR生态系统追踪器

Dolby Vision被称为Profile 8.4&#xff0c;与基于pq(杜比实验室开发的感知量化技术&#xff0c;也是无处不在的HDR10的基础)的所有其他口味不同&#xff0c;它基于HLG或Hybrid Log Gamma&#xff0c;由BBC和NHK开发&#xff0c;主要用于电视直播。 用HLG捕捉HDR视频的相机并不…

选择自动化测试工具的主要考虑点是什么?

在软件开发生命周期中&#xff0c;测试是非常重要的一部分。测试的目的是确保软件系统的质量和可靠性。而随着软件开发越来越复杂&#xff0c;传统的手动测试方式已经无法满足测试的要求。自动化测试工具的出现就为测试工作提供了更高效、更准确的解决方案&#xff0c;那选择自…