ähnliches Problem:
Ich benutze viele productFlavors mit verschiedenen applicationId.
Wenn ich eine HTML-Datei aus res/raw/file.html zu laden versuchen, erhalte ich eine ClassNotFoundException Nicht Klasse "product.flavor.package.R $ raw"
Die R.java finden Datei hat einen anderen Paketnamen.
Es sieht ist wie Sie können eine URL aus der Datei geladen werden wie: webView.loadUrl ("file: ///android_res/raw/page.html"); weil die WebView versucht, die R.class-Datei mit einem anderen Paketnamen zu verwenden.
Ich nehme an, die ERR_FILE_NOT_FOUND Laden einer HTML-Datei von Assets hat das gleiche Problem, aber Sie sehen die Ausnahme nicht. (webView.loadUrl ("file: ///android_assets/page.html");)
Mit dieser kleinen Arbeit um ich mein Problem lösen:
try {
AssetManager assetManager = context.getAssets();
InputStream stream = assetManager.open("page.html");
BufferedReader r = new BufferedReader(new InputStreamReader(stream));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line).append("\n");
}
webView.loadDataWithBaseURL(null, total.toString(), "text/html", "UTF-8", null);
} catch (Exception xxx) {
Log.e(TAG, "Load assets/page.html", xxx);
}
Ich hoffe, das hilft. Stephan
Es funktioniert ohne Aktivierung von Javascript. Und seltsamerweise bezieht sich der Ordner "android_asset" in der URL auf den Ordner "assets" im Projekt. – Lensflare