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

Flutter Android应用读取打包本地文件报错,求排查解决方法

解决Flutter读取Assets文件报错的问题

错误原因

Flutter打包后的assets文件并非存放在设备的文件系统路径中,File类只能访问设备本地文件系统的路径,直接用assets/data.txt作为路径会找不到文件。

正确读取方式

使用Flutter的rootBundle(来自package:flutter/services.dart)来读取assets资源:

  1. 导入依赖包
import 'package:flutter/services.dart' show rootBundle;
  1. 编写读取方法
Future<String> loadAsset() async {
  return await rootBundle.loadString('assets/data.txt');
}
  1. 按钮点击调用示例
ElevatedButton(
  onPressed: () async {
    try {
      String content = await loadAsset();
      print(content);
      // 在这里处理读取到的文件内容
    } catch (e) {
      print('读取失败: $e');
    }
  },
  child: const Text('读取文件'),
)

额外检查项

  • 确认pubspec.yaml中的assets配置格式正确,注意缩进(需为2个空格,作为flutter:的子项):
flutter:
  assets:
    - assets/data.txt

配置完成后必须执行flutter pub get让配置生效。

  • 确认assets目录在项目根目录,文件路径拼写完全一致(虽然Android不严格区分大小写,但保持一致可避免不必要的问题)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 09:35:22