Android运行异常情况分析(持续更新)

时间:2022-07-21 03:08:16

1.java.lang.IllegalAccessException: access to class not allowed

原因:在写class 文件的时候没有把class设置成public

2.java.lang.RuntimeException: Unable to instantiate activity ComponentInfo

原因:

不能实例化activity有如下三种情况:

a.没有在Manifest.xml 清单中注册该activity,或者在创建完activity后,修改了包名或者activity的类名,而配置清单中没有修改,造成不能实例化。

b.自己新建了一个包,而注册时候依然用的默认包,例如,默认包是com.ghg.Dao包,你新建了一个com.ghg.DaoImpl包,并在此包中写了个FirstActivity,在manifest.xml中注 册时你写的是<activity  android:name=".FirstActivity"/>,此时相当于你在的类注册到了默认包中,系统在默认包中是找不到的,因为你的FirstActivity在com.ghg.DaoImpl包 下,所以你注册时应写成包名加类名,如:<activity android:name="com.ghg.DaoImpl.FirstActivity";这样系统才能在指定的包中找到对应的类。

c.还用一种就是你的FirstActivity定义成了抽象类,这种情况好像一般人不会犯。

d.就是不能访问,没有把那个类设成public