flutter sdk升级之空安全启用

        公司项目flutter sdk需要从2.5升级到3.7。由于项目不支持空安全,所以升级sdk之前要做的第一件事就是启用空安全。以下为空安全适配过程记录。

  • 启用空安全

        将dart sdk设置成sdk: ">=2.12.0 <3.0.0",即可启用。代码如下:

environment:
  sdk: ">=2.12.0 <3.0.0"
  flutter: ">=1.17.0"
  • 三方库升级

        使用命令dart pub outdated --mode=null-safety来检查哪些三方库需要升级,那些库不需要升级。

        使用命令dart pub upgrade --null-safety来进行三方库升级

        使用命令dart pub update --null-safety --dry-run来检查三方库升级失败原因

  • 本项目适配支持空安全
    • 使用名dart migrate来对本项目进行空安全适配
    • 使用命令dart migrate --skip-import-check来进行强制进行空安全适配
    • 本项目空安全适配常遇到的点
      • @required改成required
      • 对于可能为空的入参,需要在类型后添加?,如String? data
      • 对于必须参数需要加上required,如required int viewId
      • 对于返回值为Future<dynamic>,我们可以返回Future<void>、Future<object>、Future<null>等等
      • 对于懒加载的变量我们在类型前面加上late,如late int _viewId
      • 对于可能为null的变量,如Controller? controller,在确定不为空可以controller!.pageGoBack(),可能为null可以controller?.pageGoBack()

相关推荐

  1. flutter sdk升级安全启用

    2024-06-07 04:18:03       35 阅读
  2. SpringBoot 3.0 升级 Swagger 升级

    2024-06-07 04:18:03       53 阅读
  3. js值合并运算符 ‘??‘

    2024-06-07 04:18:03       29 阅读
  4. NGINX安装升级

    2024-06-07 04:18:03       55 阅读
  5. spring-session升级

    2024-06-07 04:18:03       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-07 04:18:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-07 04:18:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-07 04:18:03       87 阅读
  4. Python语言-面向对象

    2024-06-07 04:18:03       96 阅读

热门阅读

  1. C++容器之前向链表(std::forward_list)

    2024-06-07 04:18:03       33 阅读
  2. PDF文件处理不再复杂:9个Python库让一切变得简单

    2024-06-07 04:18:03       28 阅读
  3. 如何使用ChatGPT写出爆款自媒体短视频文案

    2024-06-07 04:18:03       34 阅读
  4. 嵌入式软件中static的用法

    2024-06-07 04:18:03       34 阅读
  5. 防抖和节流

    2024-06-07 04:18:03       32 阅读
  6. Android 各分区简介

    2024-06-07 04:18:03       29 阅读
  7. 分账能为电商平台带来哪些便捷?

    2024-06-07 04:18:03       28 阅读
  8. HElib 使用样例

    2024-06-07 04:18:03       28 阅读