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

Flutter中Assets子目录文件无法访问的问题求助

修复Flutter Assets子目录资源无法访问的问题

排查步骤与解决方案

1. 严格检查pubspec.yaml的YAML格式缩进

YAML对缩进要求极为严格,这是此类问题最常见的根源:

  • 确保assets:下的每一项列表(- assets/、- assets/jsons/等)都使用2个空格缩进,层级与uses-material-design: true保持一致
  • 列表项的-符号后必须有一个空格,不能直接跟路径
  • 绝对不能使用Tab键缩进,必须用空格

正确的格式示例:

flutter:
  uses-material-design: true
  assets:
    - assets/
    - assets/jsons/

2. 清理Flutter构建缓存并重新加载配置

旧的构建缓存可能导致资源配置不生效:

  1. 执行终端命令:flutter clean,彻底清除旧的构建文件
  2. 执行:flutter pub get,重新加载依赖与资源配置
  3. 重启你的IDE(Android Studio/VS Code),避免IDE缓存的旧配置干扰

3. 验证资源路径的大小写匹配

iOS系统对文件路径大小写敏感,如果实际文件名是Test.json,但代码中写的是test.json就会访问失败。确保代码中的路径与项目中实际的文件名、目录名完全一致(包括大小写)。

4. 简化assets配置(可选)

如果同时指定根目录和子目录出现冲突,可以尝试简化配置:

  • 若只需要访问assets/jsons/下的文件,可暂时移除assets/配置,只保留- assets/jsons/
  • 或者使用通配符明确指定子目录下的所有文件(Flutter 2.0+支持):
    assets:
      - assets/jsons/*
    

5. 测试基础路径访问

先测试访问assets/jsons/下的其他文件(比如file3.json),如果也无法访问,说明是子目录配置的问题;如果可以访问,那就是test.json文件本身的问题(比如文件损坏、文件名错误)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 20:23:23