java.lang.RuntimeException: Unable to instantiate activity Co

Android开发的可能都碰到"java.lang.RuntimeException: Unable to instantiate activity ComponentInfo"过这个异常,出现这个异常的原因有很多,就根据我个人而言给出以下几种解决办法,以后再碰到了再更新:

1.最常见的原因是新建了一个activity,完成代码编写之后忘记了在Manifest.xml中配置注册该activity就会出现上面的异常。还有就是修改了activity的类名或者报名而没有在Manifest.xml文件中做相应的修改。

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”。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="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 项目。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/363244e06ffa6d45486835e9e410203c.html