You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Dart SDK至3.0.0-dev后添加universal_ui包遇空安全兼容问题求助

解决universal_ui与Dart 3.0+ SDK版本不兼容的问题

给你几个可行的解决思路:

1. 降级Dart/Flutter SDK到3.0以下

因为universal_ui的依赖约束明确要求SDK版本在>=2.7.0 <3.0.0之间,你可以把Flutter SDK降级到2.19.x这类3.0之前的稳定版本(2.12及以上版本已经支持空安全,但该包未启用,不过SDK兼容这个区间)。

  • 执行命令降级:flutter downgrade 2.19.6(可替换为你需要的具体版本)
  • 降级完成后重新执行flutter pub get即可安装该包

2. 替换为支持空安全的替代包

universal_ui看起来已经很久没维护,不支持空安全和Dart 3.x,不如直接换个功能类似且维护活跃的包,比如flutter_screenutil、responsive_framework这类常用的UI适配包,替换后调整代码逻辑就行,长期来看更稳定。

3. 手动修改包的依赖约束(风险提示)

这是临时应急方案,可能会带来运行时兼容性问题,谨慎使用:

  • 在项目的pubspec.yaml里添加dependency_overrides,强制指定universal_ui的来源(可以是git仓库或者本地路径):
    dependency_overrides:
      universal_ui:
        git:
          url: https://github.com/fluttercommunity/universal_ui.git
          ref: main
    
  • 拉取包后,手动修改该包内部的pubspec.yaml,把SDK约束改成>=2.12.0 <4.0.0
  • 最后执行flutter pub get,之后可能需要修复包内空安全相关的报错

内容的提问来源于stack exchange,提问作者Ammar Kayali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:50:24