2013-11-09 30 views
1

我想用電話間隙devlop混合Android移動應用創建一個混合Android應用。使用的PhoneGap使用HTML5,角JS,CSS3

第一: 我這是在網絡browser.Also工作正常,已開發響應web應用所使用紋波模擬器插件(Chrome瀏覽器)在android系統來模擬。

現在 我希望它被轉換爲ANDROID MobileAPP,所以我選擇了phonegap。 我已經通過一些基本的教程,並把資產 - > www->文件夾中的所有css/js/images/etc文件夾和
在index.html我參考cordova.js 我做了更改的Java文件loadurl(文件:/// ......... index.html)
和繼承人結果... 模擬器顯示警告消息..「不幸的是'appname'已停止工作....

和logcat的錯誤是:我不能確定它指向...所以需要利用這樣的服務。我覺得很好,如果我看到我的應用程序在移動設備上w ..。

注意:「你好世界」index.html工作正常,但不是我自己的index.html 和..我用角js,less.js( less.js編譯罰款我coudl看到如果從日誌)

  -> 11-09 13:06:37.768: E/CordovaWebView(1549): CordovaWebView: TIMEOUT ERROR! 
     -> 11-09 13:06:37.778: D/Cordova(1549): CordovaWebViewClient.onReceivedError: 
Error  code=-6 Description=The connection to the server was unsuccessful.    URL=file:///android_asset/www/index.html 
    -> 11-09 13:06:37.778: D/CordovaActivity(1549): onMessage(onReceivedError,{"errorCode":-6,"url":"file:\/\/\/android_asset\/www\/index.html","description":"The connection to the server was unsuccessful."}) 
    -> 11-09 13:06:38.128: I/Choreographer(1549): Skipped 78 frames! The application may be doing too much work on its main thread. 
    -> 11-09 13:06:38.128: D/SoftKeyboardDetect(1549): Ignore this event 
    -> 11-09 13:06:38.528: I/Choreographer(1549): Skipped 68 frames! The application may be doing too much work on its main thread. 
    -> 11-09 13:06:40.118: D/AndroidRuntime(1549): Shutting down VM 
    -> 11-09 13:06:40.118: W/dalvikvm(1549): threadid=1: thread exiting with uncaught exception (group=0xb3a3bb90) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549): FATAL EXCEPTION: main 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549): Process: com.example.test, PID: 1549 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in [email protected] 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:778) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.os.Handler.handleCallback(Handler.java:733) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.os.Handler.dispatchMessage(Handler.java:95) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.os.Looper.loop(Looper.java:137) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.app.ActivityThread.main(ActivityThread.java:4998) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at java.lang.reflect.Method.invokeNative(Native Method) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at java.lang.reflect.Method.invoke(Method.java:515) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at dalvik.system.NativeStart.main(Native Method) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549): Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10051 nor current process has android.permission.ACCESS_NETWORK_STATE. 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.os.Parcel.readException(Parcel.java:1461) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.os.Parcel.readException(Parcel.java:1415) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.net.IConnectivityManager$Stub$Proxy.getActiveNetworkInfo(IConnectivityManager.java:813) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:560) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at org.apache.cordova.NetworkManager$1.onReceive(NetworkManager.java:107) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:768) 
    -> 11-09 13:06:40.148: E/AndroidRuntime(1549):  ... 9 more 
    -> 11-09 13:06:40.188: W/System.err(1549): java.lang.SecurityException: ConnectivityService: Neither user 10051 nor current process has android.permission.ACCESS_NETWORK_STATE. 
    -> 11-09 13:06:40.248: W/System.err(1549):  at android.os.Parcel.readException(Parcel.java:1461) 
    -> 11-09 13:06:40.248: W/System.err(1549):  at android.os.Parcel.readException(Parcel.java:1415) 
    -> 11-09 13:06:40.258: W/System.err(1549):  at android.net.IConnectivityManager$Stub$Proxy.getActiveNetworkInfo(IConnectivityManager.java:813) 
    -> 11-09 13:06:40.258: W/System.err(1549):  at android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:560) 
    -> 11-09 13:06:40.258: W/System.err(1549):  at org.apache.cordova.NetworkManager.execute(NetworkManager.java:127) 
    -> 11-09 13:06:40.258: W/System.err(1549):  at org.apache.cordova.api.CordovaPlugin.execute(CordovaPlugin.java:66) 
    -> 11-09 13:06:40.258: W/System.err(1549):  at org.apache.cordova.api.PluginManager.exec(PluginManager.java:215) 
    -> 11-09 13:06:40.268: W/System.err(1549):  at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:51) 
    -> 11-09 13:06:40.268: W/System.err(1549):  at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method) 
    -> 11-09 13:06:40.268: W/System.err(1549):  at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:27) 
    -> 11-09 13:06:40.268: W/System.err(1549):  at android.os.Handler.dispatchMessage(Handler.java:102) 
    -> 11-09 13:06:40.268: W/System.err(1549):  at android.os.Looper.loop(Looper.java:137) 
    -> 11-09 13:06:40.358: W/System.err(1549):  at android.os.HandlerThread.run(HandlerThread.java:61) 
    -> 11-09 13:06:58.018: I/Process(1549): Sending signal. PID: 1549 SIG: 9 

}

更新:通過做解決問題的follwing步驟 .....

連接到服務器不成功。可以通過增加超時解決...

<preference name="load-url-timeout" value="60000" /> 

其粘貼在config.xml中或

使烏拉圭回合的index.html這個樣子的

<!doctype html> 
    <html> 
    <head> 
    <title>tittle</title> 
    <script> 
     window.location='./main.html'; 
    </script> 
    <body>   
</body> 
    </html>  

和指數移動之前。 HTML內容main.html中......

和其他(了java.lang.RuntimeException:錯誤接收廣播意向)錯誤可能是處理程序通過適當定義權限的manifest.xml

<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.READ_PHONE_STATE" /> 
<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.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" /> 

2.activity名稱...

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
    android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" 
     android:name="com.example.test.MainActivity" // u can use yours..ofcourse its //automatically generated by eclipse IDE 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

回答

3

Neither user 10051 nor current process has android.permission.ACCESS_NETWORK_STATE 

指出,您的應用程序沒有得到這個許可。 檢查AndroidManifest.xml現在添加行

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

LG

fastrde

+0

雅補充說,感謝輸入,它很好.. –