Ошибка приложения-подключение к серверу не удалось. (файл: / / / Android asset / www / index.формат html)

приложение умирает при запуске (подключение к серверу не удалось)

У меня есть приложение для Android, которое я пишу с помощью PhoneGap BUILD. Приложение работало нормально раньше, но теперь, похоже, я получаю эту ошибку после уточнения моего приложения (только некоторые изменения пользовательского интерфейса)

1) при запуске приложения я (обычно) получаю:

ошибка приложения-подключение к серверу не удалось. (файл: / / / android_asset / www / index.html)

Извините, если это дублирование любой вопрос. Я видел здесь некоторые подобные вопросы, но я не мог найти идеального ответа или решения. А в моем случае он работал хорошо до последнего изменения.

14 ответов


Как вы сказали, есть много повторяющихся вопросов на эту же тему. Любые объяснения вашей ситуации.

проблема может быть решена путем добавления тайм-аута для вызова индекса.HTML-код

ie вам нужно добавить super.setIntegerProperty("loadUrlTimeoutValue", 70000); в вашей деятельности.java-файл (внутри src/com/yourProj/-- / youractivity.Ява) выше этой строки: super.loadUrl("file:///android_asset/www/index.html");

объяснение:

Это может произойти по следующим причинам

основная причина: проблема, вероятно, из-за скорости эмулятора, поэтому сеть слишком медленно завершает связь своевременно.

Это может быть из-за:

  1. ваш код / данные / изображение имеет слишком большой размер ( я думаю, в вашем случае вы используете некоторые изображения, как вы сказали, что сделали некоторые изменения пользовательского интерфейса, может быть, размер изображений высок)
  2. ваш скрипт может иметь бесконечный или длинный цикл, так что загрузка занимает слишком много времени.
  3. вы будет использовать слишком много скриптов (jQuery, iscroll и т. д.. больше количество плагинов или скриптов)

в свой конфиг.xml-файл добавьте эту строку:

<preference name="loadUrlTimeoutValue" value="700000" />

вот рабочее решение

создать новую главную страницу.HTML-код

пример:

<!doctype html>
<html>
  <head>
   <title>tittle</title>
   <script>
     window.location='./index.html';
   </script>
  </head>
  <body>
  </body>
</html>

измените следующее в mainactivity.java

super.loadUrl("file:///android_asset/www/index.html");

to

super.loadUrl("file:///android_asset/www/main.html");

Теперь создайте свое приложение и оно работает на любом медленном соединении

refernce.

Примечание: это обходной путь, который я нашел в 2013 году.


удалите удаленно связанные файлы jQuery, такие как: https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

вместо этого загрузите этот файл и загрузите его из локальной папки js, сделав URI:

js/jquery.min.js


удалите внешние скрипты в индексе.HTML-код

изменить это:

<script src="http://code.highcharts.com/highcharts-more.js"></script>

to

<script src="project_folder/highcharts-more.js"></script>

У меня была аналогичная проблема, и на основе вышеуказанных предложений я сначала добавил " супер.setIntegerProperty ("loadUrlTimeoutValue", 70000); " но это не помогло. Поэтому я попробовал Project - > Clean, это сработало, и я могу запустить приложение сейчас !

Авинаш...


попробуйте это,

1.Переименуйте индекс.html в " main.HTML-код"

2.Создать новый индекс".html " и поместить в него следующий контент:

<!doctype html>
<html>
  <head>
   <title>tittle</title>
   <script>
     window.location='./main.html';
   </script>
  <body>
  </body>
</html>

3.Перестройте приложение! Больше никаких ошибок!


У меня было то же самое на моем проекте.

Я пробовал " супер.setIntegerProperty ("loadUrlTimeoutValue", 70000); " но безрезультатно.

Я обеспечил правильную связь всех файлов [ CSS, JS-файлы и т. д. ], проверил HTML с помощью W3C validator [ http://validator.w3.org/#validate_by_upload ], и очистил проект [ Project - > Clean ]

теперь он загружается и выполняется без той же ошибки.

надеюсь, что это помогает


расширение лимита времени ожидания загрузки не решит проблему, вызвавшую ошибку, это просто позволит избежать системы, чтобы показать сообщение, но производительность будет затронута.

фактическая причина: вы можете связывать файлы или изображения с удаленными местоположениями, и эти ресурсы слишком долго загружаются. (это, вероятно, самая распространенная ошибка)

окончательное решение: переместите все скрипты, изображения и css, необходимые для некоторых локальных папок и загрузите их локально ...

производительность будет увеличена, и ошибка будет эффективно решена.


проверить вас . Если вы используете внешние ресурсы, которые недоступны при запуске приложения, вы можете получить эту ошибку.

в моем случае я забыл удалить ссылку на скрипт отладчика (weinre).

<script src="http://192.168.0.102:8080/target/target-script-min.js#anonymous"></script>

Так приложение работало на эмуляторе, потому что http://192.168.0.102:8080/ был на моем localhost и доступен для эмулятора.

но когда я настраивал приложение на мобильном телефоне, у меня была такая же ошибка, потому что 192.168.0.102 был недоступен из мобильной сети.


в моем случае я использую ionic, и я просто закрыл диалог, пошел в приложения в эмуляторе и запустил оттуда свое приложение. Это сработало. Я получил идею об этом отсюда, так как это был просто тайм-аут.


Если вы используете visual studio. После изменения конфигурации.xml иногда вам это нужно

чистое решение сборки перестроить приложение

Это работает для меня.


для моего случая проблема была связана с потерей подключения к интернету в моем WiFi.


еще одна причина, по которой эта ошибка может возникнуть: нет index.html на .../YourApp/www/ !

Я просто следовал ионные руководство, и один из шагов:

$ rm www/index.html

на iOS это не проблема, так как во время сборки компилятор вместо этого использует HTML по умолчанию. Однако при создании для android нет примера есть. Взял меня когда-то, чтобы узнать ("почему он работает на iOS, но не на android...?)

простое решение: создать индекс.HTML, сохраните его под .../YourApp/www, восстановить ...et вуаля!