抱歉,应用程序意外停止了android

时间:2012-04-12 21:33:56

标签: android

有人可以告诉我如何解决我的问题吗?我正在构建我的第一个Android应用程序,下面是我在模拟器中启动应用程序时得到的错误代码。

谢谢

04-12 21:07:03.480: D/AndroidRuntime(327): Shutting down VM
04-12 21:07:03.480: W/dalvikvm(327): threadid=1: thread exiting with uncaught exception(group=0x40015560)
04-12 21:07:03.580: E/AndroidRuntime(327): FATAL EXCEPTION: main
04-12 21:07:03.580: E/AndroidRuntime(327): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{obd.gss.namespace/obd.gss.namespace.activity.Gssobdreadermainactivity}: java.lang.ClassNotFoundException: obd.gss.namespace.activity.Gssobdreadermainactivity in loader dalvik.system.PathClassLoader[/data/app/obd.gss.namespace-1.apk]
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.os.Handler.dispatchMessage(Handler.java:99)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.os.Looper.loop(Looper.java:123)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.main(ActivityThread.java:3683)
04-12 21:07:03.580: E/AndroidRuntime(327):  at java.lang.reflect.Method.invokeNative(Native Method)
04-12 21:07:03.580: E/AndroidRuntime(327):  at java.lang.reflect.Method.invoke(Method.java:507)
04-12 21:07:03.580: E/AndroidRuntime(327):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-12 21:07:03.580: E/AndroidRuntime(327):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-12 21:07:03.580: E/AndroidRuntime(327):  at dalvik.system.NativeStart.main(Native Method)
04-12 21:07:03.580: E/AndroidRuntime(327): Caused by: java.lang.ClassNotFoundException: obd.gss.namespace.activity.Gssobdreadermainactivity in loader dalvik.system.PathClassLoader[/data/app/obd.gss.namespace-1.apk]
04-12 21:07:03.580: E/AndroidRuntime(327):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
04-12 21:07:03.580: E/AndroidRuntime(327):  at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
04-12 21:07:03.580: E/AndroidRuntime(327):  at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
04-12 21:07:03.580: E/AndroidRuntime(327):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
04-12 21:07:03.580: E/AndroidRuntime(327):  ... 11 more

以下是我的清单的内容:

<uses-sdk android:minSdkVersion="10" />

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<application
  android:icon="@drawable/icon"
  android:label="@string/app_name">

    <activity android:name=".Activity.Gssobdreadermainactivity"
              android:label="@string/app_name"
              android:screenOrientation="portrait"
              android:launchMode="singleInstance">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Activity.Gssobdreaderconfigactivity"
              android:label="@string/app_name">
    </activity>
    <activity android:name=".activity.Gssobdreadercommandactivity"
              android:label="@string/app_name"
              android:screenOrientation="portrait">
    </activity>
    <service android:name="io.GssobdReaderService"/>
</application>

3 个答案:

答案 0 :(得分:1)

问题的原因是:

java.lang.ClassNotFoundException: obd.gss.namespace.activity.Gssobdreadermainactivity

您是否忘记将活动添加到清单?

您的清单应该类似于:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="obd.gss.namespace"
    android:versionCode="1"
    android:versionName="1.0" >
 <!-- permissions and other stuff here -->
<application
  android:icon="@drawable/icon"
  android:label="@string/app_name">

    <activity android:name=".activity.Gssobdreadermainactivity"
              android:label="@string/app_name"
              android:screenOrientation="portrait"
              android:launchMode="singleInstance">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
<!--more activities and services here -->
</application>
</manifest>

请注意,manifest标记的package属性和activity标记的name属性的组合应与类的完全限定名称完全相同。使用上面的例子,你最终会得到:

obd.gss.namespace.activity.Gssobdreadermainactivity

答案 1 :(得分:0)

我遇到了类似的问题,特别是对于新进口的项目。我发现最接近解决方案的是确保.classpath文件是可写的,重新启动Eclipse(或您使用的任何IDE),刷新项目,清理并构建项目,然后重试。这并不总是能解决问题,但是这样做几次通常会让错误消失。错误的本质是Android操作系统无法找到活动,虽然它确实知道活动应该存在并且正在尝试启动它。

答案 2 :(得分:0)

您的源树是什么样的?您可能需要删除.activity。和。活动。来自您的应用程序的前缀完全quallified类名称。当然,除非源树中有“活动”和“活动”文件夹(=

相关问题