正在将 index.html 从资产加载到 WebView,但找不到 index.html 中引用的其他文件

Loading index.html from assets into WebView but other files referenced in index.html can't be found

问题

我能够使用 webView.loadUrl("file:///android_asset/www/index.html);

从本地 assets 目录成功加载我的 index.html 文件到我的 WebView

页面保持白色,我的 chrome 调试控制台出现 js 错误,指出 *.js*.css 文件链接在 index.html 无法找到。 Filed to load resource: net:: ERR_FILE_NOT_FOUND.

信息

Web 视图设置

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);

WebView 还有自定义的 WebChromeClient 和 WebViewClient。

index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="utf-8"/>
       ...
       <link rel="stylesheet" href="styles.css">
       ...
    </head>

    <body>
      <app-root></app-root>
      ...
      <script type="text/javascript" src="runtime.js"> 
 </script>
      ...
    </body>

    </html>

我的 assets 目录中有一个 www 目录,其中包含我的网站内容。

目录结构:

所有文件都位于与 index.html 相同的目录中,所以我不确定为什么找不到它们。

Android WebView 是否有什么东西导致了这个错误?我在这里不知所措。

我曾经遇到过同样的问题。我已经添加了完整的路径并且它有效。请添加路径,

<!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="utf-8"/>
       ...
       <link rel="stylesheet" href="file:///android_asset/www/styles.css">
       ...
    </head>

    <body>
      <app-root></app-root>
      ...
      <script type="text/javascript" src="file:///android_asset/www/runtime.js"> 
 </script>
      ...
    </body>

    </html>

并分别指向所有其他文件。