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

加载TFLite模型触发java.io.FileNotFoundException问题求助

解决Android TFLite模型加载的FileNotFoundException问题

看起来你在启动时加载TFLite模型遇到了文件找不到的错误,我来帮你梳理几个最可能的解决方向:

1. 确认模型文件的存放位置与文件名

  • 首先检查model.tflite是否放在**app/src/main/assets**目录下。如果没有这个目录,手动创建一个(注意是复数的assets,不是单数asset)。
  • 严格检查文件名的大小写:Android的assets目录是大小写敏感的,代码里写的是model.tflite,文件实际名称必须完全一致,不能是Model.tflite或model.TFLITE。

2. 验证Gradle配置的正确性

你已经添加了noCompress配置来避免TFLite文件被压缩,这一步是对的,但可以再确认:

  • 确保aaptOptions块确实在android配置块内部,你的代码里是正确的,但如果有拼写错误(比如把noCompress写成nocompress)也会出问题。
  • 执行一次Sync Project with Gradle Files(Android Studio右上角的同步按钮),确保Gradle配置生效,assets目录被正确打包。

3. 切换到更可靠的模型加载方式

你代码里注释掉的loadModelFile()方法是直接从Assets读取文件的原生实现,比FileUtil.loadMappedFile更不容易出问题,建议临时替换试试:

// 替换原来的模型初始化代码
try{
    MappedByteBuffer tfliteModel = loadModelFile();
    tflite = new Interpreter(tfliteModel);
} catch (IOException e){
    Log.e("tfliteException", "Error: couldn't load tflite model.", e);
}

然后取消loadModelFile()方法的注释,确保它可以被正常调用。

4. 检查APK是否包含模型文件

通过Android Studio的**Build -> Analyze APK...**功能,选择你生成的APK包,查看内部是否存在assets/model.tflite文件:

  • 如果文件不存在,说明打包过程中没有把模型文件包含进去,回到第一步确认存放位置,再执行清理重建。
  • 如果文件存在,说明文件名或路径的拼写可能有问题,再仔细核对代码中的文件名。

5. 清理并重建项目

有时候Android Studio的缓存会导致资源打包异常,执行以下步骤:

  • 点击Build -> Clean Project
  • 点击Build -> Rebuild Project
  • 重新运行应用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 23:17:27