导入最新splashscreen:^1.3.5仍报空安全库不兼容错误如何解决
问题原因
你遇到的报错是因为官方的splashscreen库早已停止维护,最新的1.3.5版本发布于2020年,未适配Flutter 2.0及以上版本的空安全特性,因此即使引入最新版本也会出现空安全相关报错。
相关报错截图:

解决方案
方案1(推荐):更换为仍在维护的空安全启动页库
目前业内主流使用flutter_native_splash替代旧的splashscreen库,该库持续维护且完美适配空安全,操作步骤如下:
- 移除pubspec.yaml中旧的
splashscreen依赖配置 - 添加
flutter_native_splash依赖:
dev_dependencies: flutter_native_splash: ^2.3.10
- 在pubspec.yaml中添加启动页配置(可自定义背景色、图标、暗模式适配等参数),完成后执行命令
flutter pub run flutter_native_splash:create即可自动生成各平台的启动页配置。
方案2(临时兼容):关闭全局空安全校验
如果暂时不想替换库,可以在编译/运行时添加关闭空安全校验的参数,操作如下:
- 命令行运行项目时执行:
flutter run --no-sound-null-safety - 打包APK时执行:
flutter build apk --no-sound-null-safety - 打包iOS安装包时执行:
flutter build ios --no-sound-null-safety - IDE配置:如果使用VS Code,可在
.vscode/launch.json的配置项中添加参数"args": ["--no-sound-null-safety"];如果使用Android Studio,可在运行配置的额外参数栏添加上述参数即可。
注意:该方案会放宽整个项目的空安全校验,仅推荐临时调试使用,不建议长期用在生产项目中。
方案3:使用第三方适配的空安全派生版本
pub.dev上有开发者 fork 了原splashscreen库并完成了空安全适配,你可以直接依赖这些适配后的派生版本,无需修改原有启动页代码即可解决报错。
内容的提问来源于stack exchange,提问作者jasmine
相关产品推荐
相关产品推荐

