2012-04-12 3 views
1

Может кто-нибудь скажет мне, как исправить мою проблему? Я создаю свое первое приложение для 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> 

ответ

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> 

Обратите внимание, что сочетание атрибутов пакета манифеста тега и имя атрибут тега действий должно быть точно такими же, как и полным имя вашего класса. Используя мой приведенный выше пример, вы закончите с:

obd.gss.namespace.activity.Gssobdreadermainactivity 
+0

Я не считаю, что это проблема, в журналах Android обычно говорится: «Забыл ли вы добавить активность в AndroidManifest.xml? 'в этом случае. –

+0

Позвольте мне добавить мой файл mainfest –

+0

Как добавить файл манифеста? спасибо –

0

У меня была аналогичная проблема, особенно с недавно импортированными проектами. Самое близкое к решению, которое я нашел, - убедиться, что файл .classpath доступен для записи, перезапустите Eclipse (или любую другую IDE, которую вы используете), обновите проект, очистите и создайте проект и повторите попытку. Это не всегда исправляет это, но делать это пару раз обычно делает ошибку уходить для меня. Суть ошибки в том, что ОС Android не может найти Activity, хотя она знает, что Activity должна существовать и пытается ее запустить.

0

Как выглядит ваше исходное дерево? Вероятно, вам нужно удалить .активность. и. Актив. префиксы из ваших приложений полностью quallified имя класса. Если, конечно, у вас нет папки «activity» и «Activity» в вашем исходном дереве (=

Смежные вопросы