tmdb_api不支持空安全导致Flutter项目运行报错该如何处理?
问题原因
你当前使用的tmdb_api: ^1.2.7版本本身未适配健全空安全,之前可正常运行是因为Flutter默认支持混合空安全模式(允许项目中同时存在空安全和非空安全代码),突然触发报错大概率是近期调整了Flutter SDK版本、运行/编译配置,开启了强制健全空安全校验。
解决方案
方案1:临时兼容当前版本(快速修复)
在运行、编译命令中添加跳过健全空安全校验的参数即可:
- 命令行运行:执行
flutter run --no-sound-null-safety - IDE运行配置:
VS Code可在项目.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 - 打包发布:执行对应打包命令时添加相同参数,例:
flutter build apk --no-sound-null-safety
方案2:升级依赖适配空安全(长期推荐)
将pubspec.yaml中tmdb_api的依赖版本升级到已适配空安全的2.0及以上版本:
dependencies: tmdb_api: ^2.2.0 # 可替换为当前最新稳定版
修改后重新执行flutter pub get,若存在API调用差异微调对应代码即可。
额外提示
你当前代码中TMDB图片资源使用的是http协议链接,iOS、Android高版本默认禁止明文http请求,建议将所有http://image.tmdb.org替换为https://image.tmdb.org避免后续图片加载失败。
内容的提问来源于stack exchange,提问作者Jungwon
相关产品推荐
相关产品推荐

