podobny problem:
używam wielu productFlavors o różnej applicationId.
Jeśli próbuję załadować plik HTML/RES/surowego plik.html dostaję ClassNotFoundException nie znaleźliśmy klasa "product.flavor.package.R $ Raw"
R.java plik ma inną nazwę pakietu.
Wygląda na to, że nie można załadować adresu URL z pliku, takiego jak: webView.loadUrl ("file: ///android_res/raw/page.html"); , ponieważ WebView próbuje użyć pliku R.class i ma inną nazwę pakietu.
Zakładam, że ERR_FILE_NOT_FOUND z ładowania pliku html z zasobów ma ten sam problem, ale nie widzisz wyjątku. (webView.loadUrl ("file: ///android_assets/page.html");)
Dzięki tej małej obejść I rozwiązać mój problem:
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);
}
Mam nadzieję, że to pomaga. Stephan
Działa bez włączania javascript. Co dziwne, folder "android_asset" w adresie URL odnosi się do folderu "assets" w projekcie. – Lensflare