App Dies On Startup(与服务器的连接失败)
我有一个Android应用程序,我正在使用PhoneGap BUILD编写。该应用程序之前工作正常,但现在看来我在改进我的应用程序后出现此错误(仅一些UI更改)
1)当我启动应用程序时,我(通常)得到:
应用程序错误 - 与服务器的连接失败。 (file:///android_asset/www/index.html)
很抱歉,如果这是重复的任何问题。我在这里看到了一些类似的问题,但我找不到完美的答案或解决方案。就像我的情况一样,它工作正常,直到我最后一次更改。
答案 0 :(得分:175)
在config.xml文件中添加以下行:
<preference name="loadUrlTimeoutValue" value="700000" />
答案 1 :(得分:70)
正如你所说,关于同一主题有许多重复的问题。如何解释你的情况。
可以通过添加超时来调用index.html来解决问题
即你需要在activity.java文件中添加super.setIntegerProperty("loadUrlTimeoutValue", 70000);
(在src / com / yourProj / - / youractivity.java中)
在此行之上:super.loadUrl("file:///android_asset/www/index.html");
<强>解释强>
由于以下原因,可能会发生这种情况
核心原因:问题可能是由于模拟器的速度所以网络太慢,无法及时完成通信。
这可能是由于:
答案 2 :(得分:24)
以下是工作解决方案
创建新页面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");
现在构建您的应用程序,它适用于任何慢速连接
注意:这是我在2013年找到的解决方法。
答案 3 :(得分:9)
请删除远程链接的jQuery文件,例如:
https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
而是下载此文件并从本地js文件夹加载它,生成URI:
js/jquery.min.js
答案 4 :(得分:6)
删除index.html中的外部脚本
改变这个:
<script src="http://code.highcharts.com/highcharts-more.js"></script>
到
<script src="project_folder/highcharts-more.js"></script>
答案 5 :(得分:5)
我遇到了类似的问题,根据上述建议,我首先添加了“super.setIntegerProperty(”loadUrlTimeoutValue“,70000);”但这没有帮助。 所以我尝试了Project - &gt;干净,有效,我现在可以启动应用程序了!
...阿维纳什
答案 6 :(得分: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.重建你的应用程序!没有更多的错误!
答案 7 :(得分:4)
我的项目也是如此。
我试过“super.setIntegerProperty(”loadUrlTimeoutValue“,70000);”但无济于事。
我确保所有文件都正确链接[CSS,JS文件等],使用w3c验证器[http://validator.w3.org/#validate_by_upload]验证HTML,并清理项目[Project - &gt;清洁]
现在加载并执行没有相同的错误。
希望这有帮助
答案 8 :(得分:3)
扩展加载超时限制不能解决导致错误的问题,它只会避免系统显示消息,但性能会受到任何影响。
实际原因:您可能将文件或图像链接到远程位置,这些资源需要很长时间才能加载。 (这可能是最常见的错误)
最终解决方案:将所有脚本,图像和css移动到某些本地文件夹并在本地加载...
性能将提高,错误将得到有效解决。
答案 9 :(得分:3)
检查index.html
文件。如果您使用的外部资源在运行应用程序时不可用,那么您可能会收到此错误。
在我的情况下,我忘了删除调试器脚本(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。
答案 10 :(得分:2)
在离子应用程序上解决此问题,只需添加
<preference name="loadUrlTimeoutValue" value="700000" />
此行后立即到您的config.xml文件
<platform name="android">
答案 11 :(得分:1)
在我的情况下,我使用离子,我只是关闭对话框转到模拟器中的应用程序,然后从那里运行我的应用程序。这很有效。我从这里得到了这个想法,因为它只是一个超时问题。
答案 12 :(得分:1)
如果您使用的是visual studio。有时你需要改变config.xml后
清洁构建解决方案 重建你的应用程序
这对我有用。
答案 13 :(得分:1)
对于我的情况,问题是由于我的WiFi丢失了互联网连接。
答案 14 :(得分:1)
我面临着同样的问题。我注意到在索引中,我同时具有“设备准备就绪”和“ document.ready”功能,因此删除其中之一可以解决我的问题:)
答案 15 :(得分:0)
这是一个非常小众的情况,但我想我会在这里发布它,以防它为其他人节省我花在兜圈子上的时间。
在尝试了 cordova-android@10.0.1 后,我恢复到了 cordova-android@9.1,并在尝试在开发模式下运行我的应用程序时开始收到此错误。
我忘记的是,当我升级到 10.0.1 时,我不得不删除白名单插件,因为它现在是cordova-android 的一部分。
恢复cordova-plugin-whitelist让我一切都恢复正常了!
答案 16 :(得分:-8)
可能发生此错误的另一个原因是:index.html
中没有.../YourApp/www/
!
我刚刚关注 ionic guide ,其中一个步骤是:
$ rm www/index.html
在iOS上这没有问题,因为在构建过程中编译器需要一些默认的HTML。但是,在为android构建时,不使用示例index.html
。花了一些时间找我(&#34;为什么它适用于iOS,但不适用于Android ......?)
简易解决方案:创建一个index.html,将其保存在.../YourApp/www
下,重建......等瞧!