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

GitHub Actions无法识别assets资源文件,APK构建报错如何解决?

解决Flutter构建APK时资产文件找不到的问题

以下是可能的原因及对应的解决办法:

1. pubspec.yaml配置错误

YAML语法对缩进和大小写极其敏感,这是最常见的问题:

  • 确认资产配置的缩进为2个空格(不能用Tab键),正确格式示例:
flutter:
  assets:
    - assets/fivetrub.jpg
  • 核对文件名的大小写:如果你的开发环境是Linux/macOS,文件名区分大小写,比如实际文件是FiveTrub.jpg但配置里写fivetrub.jpg,就会找不到。
  • 若要导入整个assets目录,需在路径末尾加斜杠:- assets/,单个文件则必须写完整相对路径。

2. 本地缓存或代码同步问题

  • 执行flutter clean清理Flutter缓存,再运行flutter pub get重新加载配置,之后尝试重新构建。旧缓存可能导致新添加的资产无法被识别。
  • 确保本地代码与GitHub仓库完全同步:运行git pull拉取最新代码,直接查看本地assets目录下的文件是否真实存在、文件名与配置完全一致。

3. Git大小写忽略问题

如果曾经修改过文件名的大小写(比如从Fivetrub.jpg改为fivetrub.jpg),Git默认不区分大小写,可能本地文件实际还是旧的大小写,但GitHub显示的是新名称:

  • 先删除本地的目标文件,再执行git pull重新拉取;
  • 或者执行git config core.ignorecase false开启Git大小写区分,再同步代码。

4. 文件权限问题

在Linux/macOS环境下,若assets目录或文件没有读取权限,构建时会无法访问:

  • 执行chmod -R 755 assets/赋予目录及文件可读权限。

5. 构建模式或配置异常

  • 先尝试用debug模式运行flutter run,如果debug模式能正常加载图片,说明release模式可能存在压缩或混淆问题。可在pubspec.yaml中明确标记资产为必填:
flutter:
  assets:
    - path: assets/fivetrub.jpg
      optional: false
  • 检查android/app/build.gradle中是否存在特殊配置(如自定义资产打包规则)影响资产识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:07:34