我正试图在eclipse juno上运行一个phonegap应用程序。 Android版本是4.1.2。该应用程序提出错误说:
应用程序错误:出现网络错误(文件:///assets/www/index.html 当我尝试运行该应用程序时。
android清单如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
package="com.initial.belgium" android:versionName="1.0" android:versionCode="1" android:hardwareAccelerated="true">
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:hardwareAccelerated="true"
android:debuggable="true">
<activity android:name="belgium" android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="16"/>
</manifest>
java源代码如下:
package com.initial.belgium;
import android.os.Bundle;
import org.apache.cordova.*;
public class belgium extends DroidGap
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.loadUrl("file:///assets/www/index.html");
}
}
有人可以帮我解决这个问题吗? 感谢
答案 0 :(得分:3)
尝试更改:
super.loadUrl("file:///assets/www/index.html");
要:
super.loadUrl("file:///android_asset/www/index.html");
答案 1 :(得分:1)
对我来说,问题是Android的Phonegap“Hello World”教程根本不起作用。它在platforms / android / assets下创建了一个名为“phonegap-app-hello-world-3.1.0”的子文件夹。这个文件夹是所有文件的位置,所以一旦我更改了loadUrl参数以反映它加载时没有错误:
super.loadUrl("file:///android_asset/www/phonegap-app-hello-world-3.1.0/www/index.html");
希望这对某人有所帮助,本可以节省几个小时的时间!
答案 2 :(得分:1)
我在网上找到了一个非常好的解决方案。
您基本上需要做的是将index.html的内容移动到另一个文件,例如app.html。
然后在原始index.html中包含以下代码:
<!doctype html>
<html>
<head>
<title>tittle</title>
</head>
<body>
<script>
window.location='./app.html';
</script>
</body>
</html>
与服务器的连接不再超时,应用程序应该成功加载。
现在我没有提出这个好主意。所有功劳归功于Robert Kehoe:
https://www.robertkehoe.com/2013/01/fix-for-phonegap-connection-to-server-was-unsuccessful/
这样做帮助我解决了我自己的Android手机应用程序的类似问题...
答案 3 :(得分:0)
.loadUrl
应该使用指向服务器的网址。将其更改为http://www.google.com/
,它应该可以正常工作。
要使用您自己的文件,请将它们上传到Web服务器或在本地计算机上启动。如果您使用的是Mac,则内置一个(只需从系统设置启用Web共享)。或者,如果安装了Python,则可以从python -m SimpleHTTPServer
目录运行/assets/www
,然后将URL更改为'http://localhost:8000/index.html'
答案 4 :(得分:0)
对我来说,这个问题是由于我编辑并重命名了index.html文件和app.js文件。当我重命名时,我包括扩展名.html和.js。这导致文件重命名为index.html.html和app.js.js.很明显,该项目无法找到它正在寻找的文件。我相信这是上面给出的答案的一种表现。