Flutter运行报错:依赖control_pad不支持空安全导致构建失败如何解决
解决方案
1 修复control_pad无空安全支持导致的编译失败
编译报错核心原因是control_pad依赖包未适配Dart空安全,有两种可行修复方案:
- 临时关闭空安全校验
运行项目时追加参数:
打正式包时追加参数:flutter run --no-sound-null-safety
若使用VSCode开发,可以在flutter build apk --release --no-sound-null-safety.vscode/launch.json的运行配置中追加参数:
Android Studio用户可以在运行配置的「Additional run args」一栏填入{ "version": "0.2.0", "configurations": [ { "name": "Flutter", "request": "launch", "type": "dart", "args": ["--no-sound-null-safety"] } ] }--no-sound-null-safety即可。 - 替换/适配依赖包
查找社区已经适配空安全的control_pad分叉版本,通过pubspec.yaml的git依赖方式引入,可彻底解决空安全兼容问题,无需关闭全局校验。
2 修复StreamSubscription空感知操作警告
警告触发原因是声明的StreamSubscription类型变量已经是非空类型,不需要使用?.空感知运算符调用,两种修复方案:
- 若确认该变量不会为空,直接把调用处的
?.改为.即可 - 若变量存在为空的可能,将变量声明改为可空类型
StreamSubscription?,即可保留?.调用逻辑,警告会自动消失。
内容的提问来源于stack exchange,提问作者Hazem soussi
相关产品推荐
相关产品推荐

