我正在使用 phonegap 在 android 上开发应用程序,当我在手机上对其进行测试时出现此错误Application Error Is a directory (file:///#android_asset/www/index.html)
,只有当我的手机没有互联网连接时才会出现此错误。
有什么建议么?
我正在使用 phonegap 在 android 上开发应用程序,当我在手机上对其进行测试时出现此错误Application Error Is a directory (file:///#android_asset/www/index.html)
,只有当我的手机没有互联网连接时才会出现此错误。
有什么建议么?
这意味着,在您的 index.html 中,您正在使用需要访问 Internet 的资源。查看您的 index.html 并查找任何直接从 Internet 链接的 CSS、javascript 或 Cordova 文件。如果是这样,您必须下载相关文件并将其本地化。
当我像这样直接链接我的 Jquery 移动 JS 文件时,我遇到了同样的问题:
<script type="CSS/javascript" src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.js">
我所做的是,下载了 jquery.mobile-1.3.0.js 文件并将它放在本地我的 www 文件夹中。这解决了我的问题。
我在这里找到了答案:http: //dev.wavemaker.com/wiki/bin/wmdoc_6.5/PhoneGap?xpage= print#HTheconnectiontotheserverwasunsucessful28file3A2F2F2Fandroidasset2Fwww2Findexhtml29
6.1 连接服务器不成功(file:///android_asset/www/index.html)
WHERE:在 Android 设备上启动应用程序时。
您在 index.html 文件中放置的任何请求远程资源的内容都将导致为 android 设备引发上述错误,然后您的应用程序将死机。Weinre 调试器是导致此错误的常见原因。
解决方案:将远程资源的加载从 index.html 移到您的应用程序中,它会安静地失败。
例如,您只需要将“index.html”重命名为“main.html”,然后创建一个新的(虚拟)“index.html”,只需重定向到“main.html”
新的“index.html”的内容:
<!doctype html>
<html>
<head>
<title>Title</title>
<script>
window.location='./main.html';
</script>
</head>
<body>
</body>
</html>
我找到了答案。
在您的标签中包含 phonegap.js <head>
。phonegap 在构建时需要它。
<head>
<script src="phonegap.js"></script>
</head>
您无需下载 phonegap.js。您只需要包含所示的代码。在构建期间,phonegap 会自动查找并包含它。如果没有,当您运行 Native 应用程序时,该应用程序将在 phonegap 服务器上查找 phonegap.js,这需要很长时间。最终,您的应用程序加载将因您看到的错误消息而超时。
哇!我可以相信这一点。我遇到了这个问题,我很气馁,几乎放弃了使用phonegap。但是,我在 Phonegap 的网站上阅读了关于 phonegap.js 在下面的子标题下
https://build.phonegap.com/docs/app-overview
“确保您仍然可以访问 PhoneGap API”
“一旦你删除了 phonegap.js,你需要确保你的应用程序仍然可以访问 PhoneGap API。
为此,只需确保在您的 index.html 中进行以下引用”
<script src="phonegap.js"></script>
这就像魔术一样。有用。
大家加油。
空白访问标签允许访问所有外部资源。
<access origin="*" /> - a wildcard access tag allows access to all external resource.
否则,您可以指定特定域:
-->
<access origin="127.0.0.1*"/> <!-- allow local pages -->
<!--
<access origin="http://phonegap.com" /> - allow any secure requests to http://honegap.com/
<access origin="http://phonegap.com" subdomains="true" /> - same as above, but including subdomains, such as http://build.phonegap.com/
<access origin="http://phonegap.com" browserOnly="true" /> - only allows http://phonegap.com to be opened by the child browser.
-->
希望这可以帮助。
我遵循“快速入门指南”,我遇到了同样的问题。但我解决了。我的问题是下载的 phonegap 和后面的 guie 之间的不一致。
您必须确定以下详细信息: - 在 intex.html 中链接正确的 js 脚本版本(例如:cordova-2.7.0.js) - 它必须与下载的 phonegab 版本匹配。phonegab 版本和链接的 js 脚本必须匹配。
我希望这对你有帮助。
确保您的页面中包含 phonegap.js 或 cordova.js 脚本。这仅适用于您的移动设备。
你应该使用:
file:///android_asset/www/index.html
作为网址