安卓应用在启动前崩溃

3

这是一个非常简单的应用程序,在我添加之前运行得很好。

<script src="cordova-2.5.0.js" type="text/javascript"></script>

我在访问index.html时遇到了问题,无论是在仿真器还是实际设备上都崩溃了。以下是错误信息:

03-19 21:24:28.633: E/AndroidRuntime(1467): FATAL EXCEPTION: main
03-19 21:24:28.633: E/AndroidRuntime(1467): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x10000010 (has extras) } in org.apache.cordova.NetworkManager$1@b49b2b50
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:737)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.os.Handler.handleCallback(Handler.java:605)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.os.Handler.dispatchMessage(Handler.java:92)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.os.Looper.loop(Looper.java:137)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.app.ActivityThread.main(ActivityThread.java:4424)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at java.lang.reflect.Method.invokeNative(Native Method)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at java.lang.reflect.Method.invoke(Method.java:511)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at dalvik.system.NativeStart.main(Native Method)
03-19 21:24:28.633: E/AndroidRuntime(1467): Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10042 nor current process has android.permission.ACCESS_NETWORK_STATE.
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.os.Parcel.readException(Parcel.java:1327)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.os.Parcel.readException(Parcel.java:1281)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.net.IConnectivityManager$Stub$Proxy.getActiveNetworkInfo(IConnectivityManager.java:597)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:365)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at org.apache.cordova.NetworkManager$1.onReceive(NetworkManager.java:107)
03-19 21:24:28.633: E/AndroidRuntime(1467):     at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)
03-19 21:24:28.633: E/AndroidRuntime(1467):     ... 9 more
03-19 21:24:28.672: E/dalvikvm(1467): VM aborting
03-19 21:24:28.672: A/libc(1467): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)

我遇到了类似的错误,但是是一个NullPointerException,而且我在清单文件中设置了<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> - Pete
1个回答

8

添加:

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

请将此代码添加到您的AndroidManifest.xml文件中。

实际上,在您的异常消息中已经说明了:

Caused by: java.lang.SecurityException: ConnectivityService: 
Neither user 10042 nor current process has android.permission.ACCESS_NETWORK_STATE.

谢谢,我对Eclipse和Android都非常陌生,这么多错误让我感到不知所措。我应该将它添加到应用程序标签中还是在清单标签中的任何位置都可以? - max
1
<manifest>标签下方。请参阅此处有关清单语法概述的内容:http://developer.android.com/guide/topics/manifest/manifest-intro.html#filestruct。 - kamituel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接