文档章节

[积累]Android运行时异常“Binary XML file line # : Error in

SuShine
 SuShine
发布于 2015/06/19 17:40
字数 587
阅读 36
收藏 0

在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常,然后整个程序Crash掉......

    我遇到该问题常常都是因为修改了资源文件所引起,大致有以下几种方式来解决:

    1. 引用类名问题:自定义了一个View,将他用于布局文件中,假设他的包名叫MyPackage,类名叫MyTestView,这个时候你在XML作为布局元素来布局的话,必须使用完整路径名,也就是包名加类名来引用,用MyPackage.MyTestView来进行引用。

    2.构造函数问题:自定义一个View,必须派生实现基类View的三个构造函数

    View(Context context)     //Simple constructor to use when creating a view from code

    View(Context context, AttributeSet attrs)     //Constructor that is called when inflating a view from XML

    View(Context context, AttributeSet attrs, int defStyle)     //Perform inflation from XML and apply a class-specific base style

    从文档上的介绍来看,第二个和第三个构造函数对于XML这种引用方式是必须实现的,这三个构造函数应该是在不同的应用场合来实例化一个View对象。

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

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

 

本文转载自:

共有 人打赏支持
SuShine
粉丝 124
博文 537
码字总数 153323
作品 0
朝阳
后端工程师
私信 提问
android中出现android.view.InflateException

在点击按钮从一个activity调整到另一个activity时,出现了 android.view.InflateException: Binary XML file line #48: Error inflating class java.lang.reflect.Constructor这个异常,但有......

ydww
2012/03/09
1K
2
android 多界面 OOM

android 大约40多个界面。 activity 使用的是singleinstance,每个界面都有自己的背景图片,图片大小大约100K小于400K,当界面来回的切换的时候,10分钟之内一定会oom. 信息如下:Out of memo...

金玉
2013/11/21
632
7
Android setContentView 的时候包空指针异常

Android setContentView 的时候包空指针异常。 代码: 异常: 04-22 04:08:25.434 26417-26417/com.jeanselam.activities E/AndroidRuntime: FATAL EXCEPTION: main Process: com.jeanselam......

蜡笔小小小新
2016/04/22
680
1
android 使用FloatActionButton(FAB)悬浮按钮问题

我今天在android系统上使用fab 按钮,遇到了以往没有遇到的问题,因为以前不做什么修改直接就用了,这次修改了一下背景颜色,出问题了 <android.support.design.widget.FloatingActionButto...

雨焰
09/07
0
0
Android开发中遇到的exception

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lam.fundamental/com.lam.datasave.dairy.DairyActivity}: java.lang.RuntimeException: Your content must have ......

ice_col
2015/08/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

微服务分布式事务实现

https://www.processon.com/view/link/5b2144d7e4b001a14d3d2d30

WALK_MAN
今天
2
0
《大漠烟尘》读书笔记及读后感文章3700字

《大漠烟尘》读书笔记及读后感文章3700字: 在这个浮躁的社会里,你有多久没有好好读完一本书了? 我们总觉得自己和别人不一样,所以当看到别人身上的问题时,很少有“反求诸己”,反思自己。...

原创小博客
今天
4
0
大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
今天
3
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
今天
3
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部