Flutter构建应用时出现Type 'AssetBundle' not found错误该如何解决?
Flutter 报错
Type 'AssetBundle' not found解决方案 具体报错内容:Error: Type 'AssetBundle' not found. AssetBundle? bundle
排查与解决步骤
- 检查必要依赖导入
AssetBundle是Flutter框架提供的资源加载类,定义在services库中,先确认代码文件头部是否添加了导入语句:
绝大多数该类报错都是漏导入导致的,添加导入后重新编译即可解决。import 'package:flutter/services.dart'; - 清理项目缓存
若已导入仍报错,大概率是项目缓存异常,依次执行以下命令清理后重新编译:flutter clean flutter pub get - 检查Flutter SDK状态
执行flutter doctor检查本地SDK是否存在异常,若SDK版本过旧或损坏,可执行对应命令修复:- 升级到最新稳定版SDK:
flutter upgrade - 修复本地损坏的SDK文件:
flutter repair
- 升级到最新稳定版SDK:
- 排查类名冲突
若你在项目中自定义了名为AssetBundle的类,会和系统类产生命名冲突,两种解决方案:- 修改自定义类的名称避免重名
- 给系统services库导入添加别名,使用时携带别名即可:
import 'package:flutter/services.dart' as flutter_services; // 使用时写法 flutter_services.AssetBundle? bundle;
- 确认项目类型适配
AssetBundle是Flutter专属类,纯Dart项目(非Flutter应用/包)不存在该类,若你在纯Dart项目中使用需要更换资源加载方案,若为Flutter项目需要确认pubspec.yaml中已正确配置Flutter SDK依赖。
内容的提问来源于stack exchange,提问作者Hichem Guessab
相关产品推荐
相关产品推荐

