Android Не разрешено загружать локальный ресурс: file: /// android_asset

Я пытаюсь загрузить html-страницу с сервера, страница содержит скрипт, который ссылается на файл .js android sdcard.

Ява:

String url ="http://192.168.84.86:8080/test/maw/js_load_test.html"; this.loadUrl(url); 

js_load_test.html:

 <script src="file:///sdcard/test.js"></script> 

Я также пробовал:

 <script src="file:///android_asset/www/js/test.js"></script> 

Файл test.js существует, и путь к файлу js правильный. Но в logcat: file: ///sdcard/test.js:

03-18 13: 01: 12.467: E / Web Console (26189): не разрешено загружать локальный ресурс: file: ///sdcard/test.js по адресу: 0

файл: ///android_asset/www/js/test.js:

03-18 13: 01: 53.467: E / Web Console (26189): не разрешено загружать локальный ресурс: file: ///android_asset/www/js/test.js по адресу: 0

Solutions Collecting From Web of "Android Не разрешено загружать локальный ресурс: file: /// android_asset"

Это может помочь

https://groups.google.com/group/android-developers/browse_thread/thread/e20e87d2faf9ff41?pli=1#

 webview.loadDataWithBaseURL( "file:///android_asset/", html, "text/html", "utf-8", null ); 

Если вы получаете ошибку «Не разрешено загружать локальный ресурс: файл: ///android_asset/index.html», скорее всего, ваша проблема заключается в том, что папка с ресурсами находится в неправильном месте.

Для проекта gradle сохраните папку ваших ресурсов в каталоге src / main / через папки java и res. Как это:

Project-folder – | project_name
– | сборка
– | ЦСИ
— | активы
— | поколения
— | ява
— | Рез

Для maven project store yout активы под res / directory

Чтобы исправить это, создайте папку в «main» под названием «android_asset», а внутри папки android_asset создайте другую папку с названием «активы» и поместите свой html-файл в активы и вызовите с помощью этого mWebView.loadUrl («file: /// android_asset / YOUR HTML file.html ");

У меня была такая же проблема, и даже если я не позвоню mWebView.loadUrl ("file: /// android_asset / assets / YOUR HTML FILE.html"); Все еще некоторые из них работают. Который я нахожу странным, потому что именно там html!

Итак, ваши папки должны выглядеть так: main / android_assets / assets / YOUR HTML.html и звонить с помощью mWebView.loadUrl ("file: /// android_asset / YOUR HTML FILE.html");

Вот как выглядит мой будущий.

Открытый класс MainActivity расширяет ActionBarActivity {

 private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.activity_main_webview); // Enable Javascript WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); mWebView.loadUrl("file:///android_asset/index.html"); } 

попробуй это :

 this.loadUrl("file:///android_asset/www/js/test.js"); 

Но в папке ваших ресурсов должно быть одно имя папки www-> js.