Flutter空安全

[toc]

Flutter空安全

参考文章:

一、进行空安全适配

当开启空安全之后,然后运行下项目你会看到很多的报错,然后定位到报错的文件,大体有三类文件需要修改:

  1. 自定义Widget
  2. 数据模型(Model)
  3. 单例

详细看上面的参考文章。

二、项目空安全升级

升级 Flutter 空安全通常需要以下几个步骤:

  1. 更新 Flutter SDK 版本:首先需要更新 Flutter SDK 版本到支持空安全的版本。可以通过运行以下命令来更新 Flutter SDK:

    1
    flutter upgrade
  2. 添加空安全特性:在 Flutter SDK 更新后,需要在项目中添加空安全特性。可以通过运行以下命令来添加空安全特性:

    1
    2
    3
    dart migrate

    // 运行上述命令后,会自动添加空安全相关的代码和特性,例如非空断言、空值检查等。但是,需要根据项目的实际情况进行手动调整和修复。
  3. 验证代码:在添加空安全特性后,需要对代码进行验证,以确保代码中不存在空指针异常和其他错误。可以通过运行以下命令来验证代码:

    Copy

    1
    2
    3
    dart analyze

    // 运行上述命令后,会检查代码中存在的空指针异常和其他错误,并给出相应的提示和建议。需要根据提示和建议进行修复。
  4. 更新依赖库:在升级 Flutter 空安全时,可能需要更新一些依赖库,以确保依赖库也支持空安全。可以通过运行以下命令来更新依赖库:

    1
    2
    3
    flutter pub upgrade --null-safety

    // 运行上述命令后,会自动更新依赖库,以确保依赖库也支持空安全。
  5. 发布应用程序:在完成以上步骤后,需要重新构建和发布应用程序。可以通过运行以下命令来构建和发布应用程序:

    1
    2
    flutter build apk
    flutter install

以上是升级 Flutter 空安全的主要步骤,需要根据项目的实际情况进行调整和修复。在升级过程中,需要注意备份代码和依赖库,并在升级前进行充分的测试,以确保升级后应用程序的正常运行。

1、保证自己非空安全工程/package没有错误(此时版本号低于空安全的2.12.0)。

2、检查是否所在flutter工程依赖库是否都升级到了空安全版本

1
2
3
cd 到pubspec.yaml所在路径

dart pub upgrade --null-safety

3、执行 dart migrate,一键升级空安全。(容易犯的错:要一键升级的package,提前升级了空安全的版本号到2.12.0以上。)

企业微信截图_6607f7fd-ac49-4b68-b676-f3f0f4eac934

4、移动文件归属,解决依赖关系,使其完全不报红。