繁体   English   中英

应用程序错误:出现网络错误(文件:///assets/www/index.html

[英]Application error: there was a network error(file:///assets/www/index.html

我试图在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"); 
    }
}

有人可以帮我解决这个问题吗? 谢谢

尝试更改:

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

至:

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

对我来说,问题是Android的Phonegap“ Hello World”教程根本无法正常工作。 它在平台/ android /资产下创建了一个名为“ phonegap-app-hello-world-3.1.0”的子文件夹。 该文件夹是所有文件的存放位置,因此一旦更改了loadUrl参数以反映它已加载且没有错误:

super.loadUrl("file:///android_asset/www/phonegap-app-hello-world-3.1.0/www/index.html");

希望这对某人有帮助,可以节省我几个小时的时间!

我在网上找到了一个非常好的解决方案。

您基本上需要做的是将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 phonegap应用程序解决类似的问题...

.loadUrl应该使用指向服务器的URL。 将其更改为http://www.google.com/ ,即可正常运行。

要使用自己的文件,请将其上传到Web服务器或在本地计算机上启动一个。 如果您使用的是Mac,则内置一个(只需从“系统设置”中启用“ Web共享”)。 或者,如果您安装了Python,则可以从/assets/www目录运行python -m SimpleHTTPServer ,然后将URL更改为'http://localhost:8000/index.html'

对我来说,此问题是由于我编辑并重命名了index.html文件和app.js文件而引起的。 当我重命名时,我包括扩展名.html和.js。 这导致文件被重命名为index.html.html和app.js.js。 因此很明显,该项目找不到所需的文件。 我相信这是上述答案的体现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM