你的位置:首页 > 操作系统

[操作系统]java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常总结




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

做android开发的可能都碰到”java.lang.RuntimeException: Unable to instantiate activity ComponentInfo”过这个异常,

有时是Conslole 会出现Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED


解决办法


2.在注册activity时,省略报名直接用“.XxxActivity”来代替activity的全路径。比如下面的代码中默认的包名是”com.location.activity”(程序第3行),在注册activity的时候,若果activity确实是在该包下,则可以使用”.XxxActivity”来代替(注意activity类名前的点是不可以省略的!),当然也可以使用全路径如下面代码第11行所示。但如果所新建的activity不在默认的包下,此时省略包名直接用”.XxxActivity”来代替就会出现“java.lang.RuntimeException: Unable to instantiate activity ComponentInfo…”异常,这时必须用全路径来表示,格式如下面代码第11行所示,即包名+activity的名,如“xxx.xxx.xxx.XxxActivity”。

[html] view plaincopy在CODE上查看代码片派生到我的代码片

<? 
<manifest ="http://schemas.android.com/apk/res/android"
package="com.location.activity"
android:versionCode="1"
android:versionName="1.0" >

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name="com.location.activity.LocationActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
......


3.如果你更新了ADT的新版本,而工程文件中使用了其他的jar包,也可能会出现”java.lang.RuntimeException: Unable to instantiate activity ComponentInfo”这样的异常,处理办法:Project -> Properties ->java build path-> Order & Export 选上Private 然后clean 项目。

4.还有一种可能是你加入了新的jar包,但在编译时没有勾选上,处理办法是和3的处理办法一样,若还有报错有可能是加入的jar包需要先编译。处理方法:右键工程文件–>Build Path–>Configure Build Path–>Order and Export 然后选中填入的jar包Up或者Down调整一下编译顺序。