3

我只需下载并使用最新版本的 phonegap :v.1.8.1

像往常一样,我setContentView(R.layout.main)super.loadUrl("file:///android_asset/www/index.html");

当我测试我的“hello world”应用程序时,它总是会强制关闭。该应用程序无法正常运行。但是,如果我将行改回setContentView(R.layout.main),应用程序将正常运行并且没有问题(对于应用程序)。真正的问题是,应用程序没有加载 index.html,因为没有super.loadUrl("file:///android_asset/www/index.html");行。

这是我的代码:

package com.urfinder.android;

import android.os.Bundle;

import org.apache.cordova.DroidGap;

public class URFinderActivity extends DroidGap {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

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

    }
}`

任何人都可以给我一些建议吗?谢谢 :)

4

10 回答 10

10

将类的扩展从 更改ActivityDroidGap

于 2012-06-21T06:59:52.943 回答
4

1)在你的html文件中,你把这一行放进去了<head>吗?

<script type="text/javascript" charset="utf-8" src="cordova-1.8.1.js"></script>

2)将此行添加到您的活动顶部

import org.apache.cordova.*;

3)你有没有cordova-1.8.1.jar从你之前下载的 Cordova 复制到文件夹中/libs

4)您是否配置了项目构建路径?

右键单击/libs文件夹并转到Build Paths/ > Configure Build Path ...。然后,在 Libraries 选项卡中,添加cordova-1.8.1.jar到项目

5)您是否将之前从 Cordova 下载的文件复制cordova.xml并归档到文件夹中plugins.xml/res/xml

这是你的检查清单。希望它有所帮助。

于 2012-07-06T08:30:00.230 回答
2

可能您已经用大写字母创建了 WWW 目录...试试下面显示的代码。

super.loadUrl("file:///android_asset/WWW/index.html");
于 2012-09-26T09:02:25.653 回答
1

也看看这里:

当 phonegap 版本从 1.5 更新到 1.9 时,android 中的 Phonegap 应用程序会导致强制关闭

需要检查的几个项目:

  1. 您是否将xml文件夹从 PhoneGap/Cordova 存档复制到您的res文件夹?
  2. 您是否将 Cordova javascript 文件复制到您的 assets/www文件夹?

你好祝你好运!

最好的,

-奥里

于 2012-07-17T23:40:02.063 回答
0

网络错误的简单答案:使用相对路径(file:///android_asset/index.html)。确保 android 和资产之间有一个下划线。Eclipse 创建“资产”,但在相对路径中我们将使用 android_asset。

我浪费了几个小时,我在路径中使用了“android-asset”。还要确保将 xml 文件夹从下载的 phonegap 复制到项目的 res 文件夹中。xml 文件夹包含 config.xml 文件。

于 2012-12-20T19:50:55.633 回答
0

// 这只是因为与模拟器的连接超时。在加载 url 之前添加此行。

super.setIntegerProperty("loadUrlTimeoutValue", 60000);
于 2013-04-16T05:10:56.400 回答
0

...另一件事可能会让您大吃一惊....cordova jar 和 javascript 文件是在您创建项目时创建的,但是...在我的机器上它们是空的。我仍然必须手动将它们复制到适当位置的项目文件夹中。

我们使用 Sencha Touch,所以这是项目中不兼容问题的另一部分。我从网上加载了很多 Javascript,并且订单似乎相关。我有一个项目,我仍在绞尽脑汁,但是......您可以为 WebView onReceivedError 事件添加一个处理程序并记录错误,这有时会有所帮助。我也不反对在 HTML 文件中放置警报代码以找出故障发生的位置。我们也在使用 webkit 在客户端本地提供 HTML 服务……这是另一个潜在的麻烦点。

于 2013-05-16T14:16:39.107 回答
0

我在这背后挣扎了几个小时。我的文件夹结构是: assets/www/index.html

MainActivty.java 中的代码是: super.loadUrl("file:///asset/www/index.html");

正确的方法是: super.loadUrl("file:///android_asset/www/index.html");

它现在工作。有人可以解释为什么这个“android_”被附加到文件夹名称中吗?

于 2013-10-23T15:18:12.623 回答
0

这对我有用:

...我正在关注本教程: http: //nick.perfectedz.com/2012/10/02/how-to-use-phonegap-with-intellijidea/#comment-286

使用 Android IntelliJ Idea3 + Phonegap 制作 Hello World 并在“file:///android_asset/www/index.html”处遇到同样烦人的错误

并将这一行添加到我的 Manifest.xml 文件中解决了类似魅力的问题:

于 2014-02-13T12:21:39.773 回答
0
<script type="text/javascript" charset="utf-8" src="cordova-1.8.1.js"></script>

关于 index.html:
并检查您的 .js 文件是否真的像您在 src-tag 中引用的那样命名。
在这种情况下,cordova-1.8.1.js

于 2014-10-01T10:19:16.517 回答