本文主要是介绍Unable to instantiate activity,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
报的错,
04-25 20:56:13.629: E/Trace(1790): error opening trace file: No such file or directory (2)
04-25 20:56:13.653: E/AndroidRuntime(1790): FATAL EXCEPTION: main
04-25 20:56:13.653: E/AndroidRuntime(1790): java.lang.RuntimeException:
Unable to instantiate activity
ComponentInfo{play.MainActivity}:
java.lang.ClassNotFoundException: Didn't find class "play.MainActivity"
on path: /data/app/play-1.apk
04-25 20:56:13.653: E/AndroidRuntime(1790): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
04-25 20:56:13.653: E/AndroidRuntime(1790): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254)
04-25 20:56:13.653: E/AndroidRuntime(1790): at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-25 20:56:13.653: E/AndroidRuntime(1790): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-25 20:56:13.653: E/AndroidRuntime(1790): at android.os.Handler.dispatchMessage(Handler.java:99)
04-25 20:56:13.653: E/AndroidRuntime(1790): at android.os.Looper.loop(Looper.java:137)
04-25 20:56:13.653: E/AndroidRuntime(1790): at android.app.ActivityThread.main(ActivityThread.java:5069)
04-25 20:56:13.653: E/AndroidRuntime(1790): at java.lang.reflect.Method.invokeNative(Native Method)
04-25 20:56:13.653: E/AndroidRuntime(1790): at java.lang.reflect.Method.invoke(Method.java:511)
04-25 20:56:13.653: E/AndroidRuntime(1790): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-25 20:56:13.653: E/AndroidRuntime(1790): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-25 20:56:13.653: E/AndroidRuntime(1790): at dalvik.system.NativeStart.main(Native Method)
04-25 20:56:13.653: E/AndroidRuntime(1790):
Caused by: java.lang.ClassNotFoundException:
Didn't find class "play.MainActivity" on
path: /data/app/play-1.apk
04-25 20:56:13.653: E/AndroidRuntime(1790): atdalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
04-25 20:56:13.653: E/AndroidRuntime(1790): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
04-25 20:56:13.653: E/AndroidRuntime(1790): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
04-25 20:56:13.653: E/AndroidRuntime(1790): at android.app.Instrumentation.newActivity(Instrumentation.java:1066)
04-25 20:56:13.653: E/AndroidRuntime(1790): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101)
04-25 20:56:13.653: E/AndroidRuntime(1790): ... 11 more
===============================
http://blog.csdn.net/gaohongijj/article/details/8010869/
这大哥分析的差不多了,然后我自己再补充下
1.在你的xml清单文件中,把.FirstActivity 前面的路径写完整,我就不信它找不到和
Unable to instantiate activity
<activity Android:name=".FirstActivity"/>
2.如图所示,build 你的项目,记住不要build Automatically
3.按照这个步骤,然后restartEclipse;
不能实例化activity有如下三种情况:
1.没有在Manifest.xml 清单中注册该activity,或者在创建完activity后,修改了包名或者activity的类名,而配置清单中没有修改,造成不能实例化。
2.自己新建了一个包,而注册时候依然用的默认包,例如,默认包是com.ghg.Dao包,你新建了一个com.ghg.DaoImpl包,并在此包中写了个FirstActivity,在manifest.xml中注册时你写的是<activity Android:name=".FirstActivity"/>,此时相当于你在的类注册到了默认包中,系统在默认包中是找不到的,因为你的FirstActivity在com.ghg.DaoImpl包下,所以你注册时应写成包名加类名,如:<activity android:name="com.ghg.DaoImpl.FirstActivity";这样系统才能在指定的包中找到对应的类。
3.还用一种就是你的FirstActivity定义成了抽象类,这种情况好像一般人不会犯。
如果上述三种情况都考虑到了,还会抛出此异常,那么就查看一下activity类里是否同时存在这个类的构造函数和oncreate(),如果是,那么删除构造函数试试,并把初始化放到
oncreate()中试试。
这篇关于Unable to instantiate activity的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!