Android运行异常:Unable to start activity ComponentInfo{}: android.view.InflateException: Binary XML file

Android运行异常




android.view.InflateException: Binary XML file line #异常此类异常如图:


app由于无法正确inflate到资源文件直接down掉! 我遇到的情况基本由于修改资源文件时引用错误造成。


解决办法:

1、由于资源文件引用错误,直接修改res/layout 中 view 的加载路径。

例如:



可见找到错误提示,Error inflating class com.xupt.tern.widgets.MyListView  ,查看src包路径发现路径写错:应为:com.xupt.tern.widgets.refreshlist.MyListView

查看layout文件:

Android运行异常:Unable to start activity ComponentInfo{}: android.view.InflateException: Binary XML file_第1张图片

修改layout加载src路径后解决!



2、编译的中间文件没有清理干净:第三种就是你在原生系统代码的编译环境下编译APK之后,特别是修改了XML,出现标题所述现象,这个时候你只需要删除out目录下编译生成的中间文件夹即可(具体名字记不清了:在编译过程中,系统会将那个位置打印出来,通过串口来看吧,.../out/....../..../classes.dex,你循着这个路径往前推到你的应用的project名字那一层文件夹),删除再重新make就OK了。



3、找不到资源文件:我原来在2.3的原生系统增加动态壁纸的时候,动态壁纸一跑起来就出这个异常,然后crash,当时就是因为找不到drawable的资源文件,于是当时我把drawable的hdpi或nodpi等文件夹的图片资源都拷贝一份到drawble下,问题解决(当时一直不明白系统会根据分辨率来选择加载不同drawable下文件夹的资源,为什么这里必须放入drawable中)。

例如:

Android运行异常:Unable to start activity ComponentInfo{}: android.view.InflateException: Binary XML file_第2张图片



4、 创建自定义view的时候, android.view.InflateException: Binary XML file line #异常,研究后发现是缺少一个构造器造成。

 public MyView(Context context,AttributeSet paramAttributeSet)
 {
       super(context,paramAttributeSet);
 }

补齐这个构造器,异常消失了,如果碰不妨试试看。



希望以上解决办法能帮助到出现此异常的朋友!


2014.2.18

你可能感兴趣的:(Android,Dev)