PhoneGap 1.8.1 - super.loadUrl(“file:///android_asset/www/index.html”)问题

时间:2012-06-21 06:41:53

标签: android cordova

我只是下载并使用最新版本的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");

    }
}`

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

11 个答案:

答案 0 :(得分:10)

将班级的范围从Activity更改为DroidGap

答案 1 :(得分: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下载中的cordova-1.8.1.jar复制到文件夹/libs

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

  

右键单击/libs文件夹,然后转到构建路径/&gt;配置   构建路径 ....然后,在“库”选项卡中,添加cordova-1.8.1.jar   该项目

5)您是否已将先前Cordova下载的cordova.xmlplugins.xml文件复制到文件夹/res/xml

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

答案 2 :(得分:3)

答案 3 :(得分:2)

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

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

答案 4 :(得分:1)

看看这里:

Phonegap Application in android results in force close when phonegap version is updated from 1.5 to 1.9

要检查的几件事:

  1. 您是否已将PhoneGap / Cordova存档中的 xml 文件夹复制到 你的 res 文件夹?
  2. 您是否将Cordova javascript文件复制到了 assets / www 文件夹?
  3. 你好 祝你好运!

    最佳,

    -Auri

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

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

super.setIntegerProperty("loadUrlTimeoutValue", 60000);

答案 7 :(得分:0)

......另一件可以让你失望的事情......当你创建项目时会创建cordova jar和javascript文件,但是......在我的机器上它们是EMPTY。我仍然需要手动将它们复制到相应位置的项目文件夹中。

我们使用Sencha Touch,因此这是不兼容性可能蔓延到项目中的过程的另一部分。我从网上加载了很多Javascript,订单似乎相关。我有一个项目,我仍然在努力,但是......你可以为WebView onReceivedError事件添加一个处理程序并记录错误,这有时会有所帮助。我也不反对在HTML文件中放置警报代码以找出故障发生的位置。我们正在使用webkit在客户端本地提供HTML ...这是另一个潜在的麻烦点。

答案 8 :(得分:0)

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

MainActivty.java中的代码是:    super.loadUrl( “文件:///asset/www/index.html”);

正确的方法是:    super.loadUrl( “文件:///android_asset/www/index.html”);

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

答案 9 :(得分: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文件中解决了像charm这样的问题:

答案 10 :(得分: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