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

Flutter打包Android APK时assets图片资源无法显示

Flutter Android release包无法加载本地资源问题修复

问题根因

资源加载路径写法不规范:AssetImage传入的路径以根斜杠/开头。
Flutter debug模式、Web运行环境对资源路径的容错性较高,会自动修正开头多余的斜杠匹配到资源,但Android release构建时会严格按照传入路径匹配资源索引,带开头斜杠的路径无法匹配到打包进APK的资源,就会出现加载失败。
注意:不需要手动在android目录下创建assets文件夹,Flutter构建时会自动将pubspec.yaml声明的资源打包进APK的资源索引,手动创建该目录对资源加载没有任何作用。

修复步骤

  • 修正所有资源调用路径,删除路径开头的斜杠,正确写法示例:
// 加载普通图片
child: Image(image: AssetImage("images/abc.jpg")),
// 加载gif动图
child: Image(image: AssetImage("gif/abc.gif")),
  • 检查pubspec.yaml的缩进格式,yaml语法对缩进敏感度极高,assets字段需与uses-material-design保持同级缩进,资源路径需比assets多2个空格缩进,参考正确配置:
flutter:
  uses-material-design: true
  assets:
    - images/
    - gif/

禁止使用Tab键做yaml缩进,统一使用空格,否则会出现资源声明不生效的问题。

  • 清理缓存重新构建:
    执行如下命令后重新打包APK即可:
flutter clean
flutter pub get
flutter build apk

验证方式

打包完成后可将APK后缀改为zip解压,查看assets/flutter_assets/目录下是否存在images、gif文件夹,若存在则说明资源已正确打包,修正路径后即可正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:00:51