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

如何解决flutter_phone_state包引发的空安全编译失败问题

报错原因

该错误由空安全编译校验不通过导致:你引入的flutter_phone_state: ^0.5.9版本已停止维护多年,未适配Dart空安全规范,连带它依赖的所有子包也都是非空安全版本,而你当前使用的Flutter SDK默认开启严格空安全编译校验,因此触发编译失败。

解决方案

方案1:更换支持空安全的通话状态监听包(推荐)

flutter_phone_state无适配空安全的正式版本,优先建议替换为仍在维护的同类功能包,例如phone_state:

  • 删除pubspec.yaml中flutter_phone_state: ^0.5.9的配置
  • 新增支持空安全的通话状态包配置:
dependencies:
  flutter:
    sdk: flutter
  phone_state: ^1.0.3
  cupertino_icons: ^1.0.2
  • 执行flutter pub get拉取新依赖,替换原有相关导入代码后即可正常编译。

方案2:禁用空安全编译校验(仅临时调试使用,不推荐线上使用)

如果必须继续使用flutter_phone_state包,可通过添加编译参数关闭空安全校验:

命令行运行/打包配置

  • 调试运行命令:
    flutter run --no-sound-null-safety
  • 打包命令:
    flutter build apk --no-sound-null-safety

IDE永久生效配置

  • Android Studio:打开Run/Debug Configurations,在Additional run args栏填入--no-sound-null-safety
  • VS Code:打开项目根目录下.vscode/launch.json文件,在configurations配置项中添加args参数:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Flutter",
      "request": "launch",
      "type": "dart",
      "args": ["--no-sound-null-safety"]
    }
  ]
}

内容的提问来源于stack exchange,提问作者Burhanuddin Kutub

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:39:03