Flutter编译报错unable to locate asset entry in pubspec.yaml求助
问题根因
核心报错为Flutter构建阶段无法找到你在pubspec.yaml文件中声明的字体资源fonts/Signatra.ttf,后续Gradle构建失败是该问题引发的连锁错误。
解决方案
按以下步骤逐一排查即可解决:
1. 校验字体文件实际路径
- 确认项目根目录下存在
fonts文件夹,且文件夹内有Signatra.ttf文件 - 注意文件名大小写必须完全匹配,禁止出现
signatra.ttf、Signatra.TTF等写法,Flutter资源路径对大小写敏感,大小写不符会直接识别失败 - 确认
fonts文件夹和lib文件夹、pubspec.yaml文件处于同级目录,不要放在lib等子目录内
2. 校验pubspec.yaml配置格式
打开项目根目录的pubspec.yaml文件,检查flutter节点下的字体声明格式,必须严格符合缩进要求,正确配置示例如下:
flutter: # 此处省略其他flutter配置项 fonts: - family: Signatra fonts: - asset: fonts/Signatra.ttf
- 缩进要求:
fonts前为2个空格,- family前为4个空格,fonts:前为4个空格,- asset前为6个空格,缩进错误会导致Flutter无法识别资源声明
3. 重载配置并重新构建
配置调整完成后,在项目根目录依次执行以下命令:
- 执行
flutter pub get刷新资源声明 - 执行
flutter clean清理历史构建缓存 - 重新执行Debug构建命令即可正常打包
额外排查项
如果执行上述步骤后依然报错,可尝试重新下载替换Signatra.ttf字体文件,排除原文件损坏的可能。
内容的提问来源于stack exchange,提问作者Nehal Tawade
相关产品推荐
相关产品推荐

