[英]phonegap Hello World Example - Cannot call method 'getPicture' of undefined", source: file:///android_asset/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.