"Unable to instantiate activity" в Android

червня
27
2012
Мітки: activity android java

У цій статті буде розказано про способи вирішення проблеми "Unable to instantiate activity ComponentInfo: java.lang.ClassNotFoundException: in loader dalvik.system" при програмуванні на платформі Android.

Stacktrace цієї помилки може виглядати наприклад таким чином:


E/AndroidRuntime(1438): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.seostella.test/com.seostella.test.TestActivity}: java.lang.ClassNotFoundException: com.seostella.test.TestActivity in loader dalvik.system.PathClassLoader[/data/app/com.seostella.test-1.apk]
E/AndroidRuntime(1438): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
E/AndroidRuntime(1438): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
E/AndroidRuntime(1438): 	at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime(1438): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
E/AndroidRuntime(1438): 	at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(1438): 	at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime(1438): 	at android.app.ActivityThread.main(ActivityThread.java:3683)
E/AndroidRuntime(1438): 	at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1438): 	at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime(1438): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:875)
E/AndroidRuntime(1438): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:633)
E/AndroidRuntime(1438): 	at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(1438): Caused by: java.lang.ClassNotFoundException: com.seostella.test.TestActivity in loader dalvik.system.PathClassLoader[/data/app/com.seostella.test-1.apk]
E/AndroidRuntime(1438): 	at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
E/AndroidRuntime(1438): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
E/AndroidRuntime(1438): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
E/AndroidRuntime(1438): 	at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
E/AndroidRuntime(1438): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
E/AndroidRuntime(1438): 	... 11 more

Можливі причини появи цієї помилки:

Також можливими варіантами вирішення проблеми є виклик команди Project -> Clean... в Eclipse, а також створення нового проекту з переносом всіх файлів зі старого проекту.

Напишіть перше повідомлення!

Ви повинні увійти під своїм аккаунтом щоб залишати коментарі