18

我正在使用 phonegap 在 android 上开发应用程序,当我在手机上对其进行测试时出现此错误Application Error Is a directory (file:///#android_asset/www/index.html) ,只有当我的手机没有互联网连接时才会出现此错误。

有什么建议么?

4

8 回答 8

13

这意味着,在您的 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 文件夹中。这解决了我的问题。

于 2013-03-22T16:11:43.733 回答
8

我在这里找到了答案: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 移到您的应用程序中,它会安静地失败。

于 2013-03-20T22:32:15.653 回答
4

例如,您只需要将“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>
于 2013-06-14T07:26:59.880 回答
1

我找到了答案。

在您的标签中包含 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>

这就像魔术一样。有用。

大家加油。

于 2013-11-12T00:37:12.597 回答
0

空白访问标签允许访问所有外部资源。

<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.
-->

希望这可以帮助。

于 2013-03-28T18:57:17.503 回答
0

我遵循“快速入门指南”,我遇到了同样的问题。但我解决了。我的问题是下载的 phonegap 和后面的 guie 之间的不一致。

您必须确定以下详细信息: - 在 intex.html 中链接正确的 js 脚本版本(例如:cordova-2.7.0.js) - 它必须与下载的 phonegab 版本匹配。phonegab 版本和链接的 js 脚本必须匹配。

我希望这对你有帮助。

于 2013-05-19T21:30:15.407 回答
0

确保您的页面中包含 phonegap.js 或 cordova.js 脚本。这仅适用于您的移动设备。

于 2015-07-21T17:20:43.567 回答
-4

你应该使用:

file:///android_asset/www/index.html

作为网址

于 2013-03-20T21:54:16.573 回答