Ошибка приложения. Соединение с сервером не увенчалось успехом. (Файл:///android_asset/www/index.html)

App Dies On Startup (подключение к серверу не увенчалось успехом)

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

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

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

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

Ответ 1

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

Проблема может быть решена путем добавления таймаута для вызова вашего index.html

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

Объяснение:

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

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

Это может быть вызвано:

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

Ответ 2

В файле config.xml добавьте эту строку:

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

Ответ 3

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

создать новую страницу main.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");

к

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

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

refernce.

ПРИМЕЧАНИЕ. Это обходной путь, который я нашел в 2013 году.

Ответ 4

Удалите удаленные файлы jQuery, например: https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

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

js/jquery.min.js

Ответ 5

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

1.Назовите свой index.html на "main.html"

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

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

3. Создайте приложение! Больше ошибок!

Ответ 6

Удалите внешние скрипты в вашем index.html

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

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

to

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

Ответ 7

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

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

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

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

Надеюсь, что это поможет

Ответ 8

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

Авинаш...

Ответ 9

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

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

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

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

Ответ 10

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

Ответ 11

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

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

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

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

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

Ответ 12

Если вы используете визуальную студию. После изменения config.xml иногда вам понадобится

решение для чистой сборки перестройте свое приложение

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

Ответ 13

try this:

MainActivity.java file 
inside (MainActivity.java)
you will be show  this loadUrl(launchUrl); 
you need to  change  this 
super.loadUrl("file:///android_asset/www/index.html");
and you need to add  another file inside -> config.xml 
<preference name="loadUrlTimeoutValue" value="60000" />

Ответ 14

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

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

$ rm www/index.html

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

Простое решение: создайте index.html, сохраните его под .../YourApp/www, rebuild... et voila!