java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常

android 程序有时写着写着会出现这个异常,然而在项目组的其他成员编译是没有问题。或者是刚导入的项目出现这个问题。正常编译,启动第一个activity出现这个异常。解决办法:肯定是配置有出错,重新配置一下。

具体异常信息如下:

06-28 17:20:47.025: E/AndroidRuntime(493): FATAL EXCEPTION: main
06-28 17:20:47.025: E/AndroidRuntime(493): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.demo/com.example.demo.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.demo.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.demo-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.demo-1, /vendor/lib, /system/lib]]
06-28 17:20:47.025: E/AndroidRuntime(493): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2277)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2403)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at android.app.ActivityThread.access$600(ActivityThread.java:165)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1373)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at android.os.Handler.dispatchMessage(Handler.java:107)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at android.os.Looper.loop(Looper.java:194)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at android.app.ActivityThread.main(ActivityThread.java:5391)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at java.lang.reflect.Method.invokeNative(Native Method)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at java.lang.reflect.Method.invoke(Method.java:525)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at dalvik.system.NativeStart.main(Native Method)
06-28 17:20:47.025: E/AndroidRuntime(493): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.demo.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.demo-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.demo-1, /vendor/lib, /system/lib]]
06-28 17:20:47.025: E/AndroidRuntime(493): 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at android.app.Instrumentation.newActivity(Instrumentation.java:1123)
06-28 17:20:47.025: E/AndroidRuntime(493): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2268)

1、解决办法:肯定是配置有出错,重新配置一下。看图

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常_第1张图片


在上图显示,通过up,down调整一下顺序。

2、把src,gen重新删除,再添加进来。

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常_第2张图片

最后在刷新一下项目就可以了。

3、其他不能实例化的activity的原因如下:

1、manifest.xml文件中没有注册该activity。或者包名或者类名不对。
2、你新建立一个包,移动了那个activity,没有及时改manifest.xml里面的activity的路径。跟应用的包名不一样时候,最好这样写包名+类名绝对路径。android:name="com.example.demo.MainActivity"。如果是相对路径android:name=".MainActivity"那个点不要忘记。建议用绝对路径。一般不会频繁移动activity类的。
3、该activity你设置为抽象类,也会抛出异常。


你可能感兴趣的:(Android,细节或者异常总结)