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

Android WebView加载本地HTML文件提示ERR_FILE_NOT_FOUND问题排查

问题分析与解决

你的操作存在两个核心错误:

1. 资源目录结构不符合Android规范

Android的res/raw目录不支持创建子文件夹,你将HTML文件放在res/raw/content下的结构无法被系统识别为有效资源路径。

2. 加载路径拼接错误

file:///android_res/raw/的访问路径仅指向res/raw根目录,无法识别其下的子目录,所以即使强行创建content子文件夹,系统也找不到对应文件。


修复方案

方案一:使用res/raw目录(无嵌套文件夹)

  • 将1-introduction.html直接移动到res/raw根目录,同时修改文件名符合资源命名规则:把横杠改为下划线,即1_introduction.html
  • 调整加载代码:
// 先把从Intent获取的file中的横杠替换为下划线,再拼接路径
webView.loadUrl("file:///android_res/raw/" + file.replace("-", "_") + ".html");

或者通过资源ID加载(更稳定):

// 将文件名转换为对应的资源ID
int resId = getResources().getIdentifier(file.replace("-", "_"), "raw", getPackageName());
webView.loadUrl("android.resource://" + getPackageName() + "/" + resId);

方案二:使用assets目录(支持子文件夹)

如果需要按文件夹分类管理文件,推荐使用assets目录:

  • 在main目录下创建assets/content文件夹,将1-introduction.html放入其中
  • 修改加载代码:
webView.loadUrl("file:///android_asset/content/" + file + ".html");

报错net:ERR_FILE_NOT_FOUND的本质就是系统无法定位你指定的文件路径,核心问题是目录结构或路径写法不符合Android资源访问规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 23:43:11