Ошибка приложения-соединение с сервером не удалось. (файл: / / / Android asset / www / index.формат html)
приложение умирает при запуске (подключение к серверу не удалось)
У меня есть приложение для Android, которое я пишу с помощью PhoneGap BUILD. Раньше приложение работало нормально, но теперь, похоже, я получаю эту ошибку после уточнения моего приложения (только некоторые изменения пользовательского интерфейса)
1) Когда я запускаю приложение, я (обычно) получаем:
ошибка приложения-соединение с сервером не удалось.
(файл: / / / android_asset / www / index.html)
Извините, если это дублирование любой вопрос. Я видел некоторые подобные вопросы здесь, но я не мог найти идеальный ответ или решение. А в моем случае он работал хорошо до последнего изменения.
14 ответов:
Как вы сказали, есть много повторяющихся вопросов на эту же тему. Любой, как объяснить вашу ситуацию.
проблема может быть решена путем добавления тайм-аута для вызова индекса.HTML-код
т. е. нужно добавить
super.setIntegerProperty("loadUrlTimeoutValue", 70000);в вашей деятельности.java-файл (внутри src/com/yourProj/-- / youractivity.Ява) над этой строкой:super.loadUrl("file:///android_asset/www/index.html");объяснение:
Это может произойти по следующим причинам
основная причина: проблема, вероятно, из-за скорости эмулятора, поэтому сеть слишком медленно завершает связь своевременно.
Это может быть из-за:
- ваш код / данные / изображение имеет слишком большой размер ( я думаю, в вашем случае вы используете некоторые изображения, как вы сказали, вы сделали некоторые изменения пользовательского интерфейса, может быть, размер изображений высок)
- ваш скрипт может иметь бесконечный или длинный цикл, так что он занимает слишком много времени для загрузки.
- вы будет использовать слишком много скриптов (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");до
super.loadUrl("file:///android_asset/www/main.html");Теперь создайте свое приложение и оно работает на любом медленном соединении
Примечание: это обходной путь, который я нашел в 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>до
<script src="project_folder/highcharts-more.js"></script>
У меня была аналогичная проблема, и на основе вышеизложенных предложений я сначала добавил "супер.setIntegerProperty ("loadUrlTimeoutValue", 70000); " но это не помогло. Поэтому я попробовал Project - > Clean, это сработало, и я могу запустить приложение прямо сейчас !
Авинаш...
попробуйте это,
1.Переименуйте свой индекс.html to " 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 [ 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 иногда вам это нужно
чистое решение для сборки перестроить приложение
Это работает для меня.
еще одна причина, по которой эта ошибка может возникнуть: нет
index.htmlin.../YourApp/www/!Я просто следовал ионные руководство, и один из шагов:
$ rm www/index.htmlна iOS это не проблема, так как во время сборки компилятор принимает некоторый HTML по умолчанию вместо этого. Однако, при создании для android, нет примера есть. Взял меня когда-то, чтобы узнать ("почему это работает на iOS, но не на android...?)
простое решение: создать индекс.HTML, сохраните его под
.../YourApp/www, восстановить ...и вуаля!
Comments