Binary XML file line #2: Error inflating class <unknown>
1.背景
之前一直用的8.0版本模拟器没啥问题,偶然间切换到了android 6.0 版本的模拟器,发现我的应用崩了。
2.错误堆栈
01-26 02:26:28.670 3682-3682/pers.hl.library.debug E/AndroidRuntime: FATAL EXCEPTION: mainProcess: pers.hl.library.debug, PID: 3682java.lang.RuntimeException: Unable to start activity ComponentInfo{pers.hl.library.debug/pers.hl.module_login.LoginActivity}: java.lang.reflect.InvocationTargetExceptionat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)at android.app.ActivityThread.-wrap11(ActivityThread.java)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)at android.os.Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:148)at android.app.ActivityThread.main(ActivityThread.java:5417)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)Caused by: java.lang.reflect.InvocationTargetExceptionat java.lang.reflect.Method.invoke(Native Method)at pers.hl.common.base.BaseVBActivity.initRootView(BaseVBActivity.kt:48)at pers.hl.common.base.BaseVBActivity.init(BaseVBActivity.kt:32)at pers.hl.common.base.BaseVBActivity.onCreate(BaseVBActivity.kt:27)at pers.hl.common.base.BaseVBVMActivity.onCreate(BaseVBVMActivity.kt:23)at android.app.Activity.performCreate(Activity.java:6237)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class <unknown>at android.view.LayoutInflater.inflate(LayoutInflater.java:539)at android.view.LayoutInflater.inflate(LayoutInflater.java:423)at pers.hl.module_login.databinding.LoginActivityLoginBinding.inflate(LoginActivityLoginBinding.java:70)at pers.hl.module_login.databinding.LoginActivityLoginBinding.inflate(LoginActivityLoginBinding.java:64)at java.lang.reflect.Method.invoke(Native Method) at pers.hl.common.base.BaseVBActivity.initRootView(BaseVBActivity.kt:48) at pers.hl.common.base.BaseVBActivity.init(BaseVBActivity.kt:32) at pers.hl.common.base.BaseVBActivity.onCreate(BaseVBActivity.kt:27) at pers.hl.common.base.BaseVBVMActivity.onCreate(BaseVBVMActivity.kt:23) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>at android.view.LayoutInflater.createView(LayoutInflater.java:645)at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)at android.view.LayoutInflater.inflate(LayoutInflater.java:492)at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at pers.hl.module_login.databinding.LoginActivityLoginBinding.inflate(LoginActivityLoginBinding.java:70) at pers.hl.module_login.databinding.LoginActivityLoginBinding.inflate(LoginActivityLoginBinding.java:64) at java.lang.reflect.Method.invoke(Native Method) at pers.hl.common.base.BaseVBActivity.initRootView(BaseVBActivity.kt:48) at pers.hl.common.base.BaseVBActivity.init(BaseVBActivity.kt:32) at pers.hl.common.base.BaseVBActivity.onCreate(BaseVBActivity.kt:27) at pers.hl.common.base.BaseVBVMActivity.onCreate(BaseVBVMActivity.kt:23) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.reflect.InvocationTargetExceptionat java.lang.reflect.Constructor.newInstance(Native Method)at android.view.LayoutInflater.createView(LayoutInflater.java:619)at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at pers.hl.module_login.databinding.LoginActivityLoginBinding.inflate(LoginActivityLoginBinding.java:70) at pers.hl.module_login.databinding.LoginActivityLoginBinding.inflate(LoginActivityLoginBinding.java:64) at java.lang.reflect.Method.invoke(Native Method) at pers.hl.common.base.BaseVBActivity.initRootView(BaseVBActivity.kt:48) at pers.hl.common.base.BaseVBActivity.init(BaseVBActivity.kt:32) at pers.hl.common.base.BaseVBActivity.onCreate(BaseVBActivity.kt:27) at pers.hl.common.base.BaseVBVMActivity.onCreate(BaseVBVMActivity.kt:23) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.OutOfMemoryError: Failed to allocate a 98724108 byte allocation with 1951802 free bytes and 93MB until OOMat dalvik.system.VMRuntime.newNonMovableArray(Native Method)at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:609)at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:1080)at android.content.res.Resources.loadDrawableForCookie(Resources.java:2635)at android.content.res.Resources.loadDrawable(Resources.java:2540)at android.content.res.TypedArray.getDrawable(TypedArray.java:870)at android.view.View.<init>(View.java:3948)at android.view.ViewGroup.<init>(ViewGroup.java:573)at android.view.ViewGroup.<init>(ViewGroup.java:569)at android.view.ViewGroup.<init>(ViewGroup.java:565)at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:568)at java.lang.reflect.Constructor.newInstance(Native Method) at android.view.LayoutInflater.createView(LayoutInflater.java:619) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:423) at pers.hl.module_login.databinding.LoginActivityLoginBinding.inflate(LoginActivityLoginBinding.java:70) at pers.hl.module_login.databinding.LoginActivityLoginBinding.inflate(LoginActivityLoginBinding.java:64) at java.lang.reflect.Method.invoke(Native Method) at pers.hl.common.base.BaseVBActivity.initRootView(BaseVBActivity.kt:48) at pers.hl.common.base.BaseVBActivity.init(BaseVBActivity.kt:32) at pers.hl.common.base.BaseVBActivity.onCreate(BaseVBActivity.kt:27) at pers.hl.common.base.BaseVBVMActivity.onCreate(BaseVBVMActivity.kt:23) at android.app.Activity.performCreate(Activity.java:6237) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
3.分析
开始就是一顿花里胡哨的瞎分析,因为我这里是反射调用ViewBinding的inflate方法,就去各种改代码,然并卵。。。
简单查看后,抓住一句重要的信息:Caused by: android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class <unknown>
这意思可不就是在我的页面布局xml文件里面第二行报错么,于是打开了我的布局,第二行就是个ConstraintLayout呀,没啥特别的。
又着急了,谷哥度娘问了一圈,多方查阅资料,有告诉我是啥drawable资源没放对位置的原因,有说是自定义view没写对的原因,还有啥删除v24的文件夹之类的。最后就把此布局只保留一个根layout,然,无果。。。
实在想不通啊,又到群里找大佬帮忙,可惜大佬没理我。
最后冷静下来,仔细看了看布局,这不起眼的一行引起了我的注意:
点开一看,这是一个.jpg格式的图片,我放在drawable下面的。
4.解决
结合上面报错最后一个原因跟loadDrawable有点关系,抱着试试看的态度删除此行。
然后,好了,神奇的Android世界。。
5.原理
最后还是没想通是为啥,自己分析可能是不同版本的inflate方法差异,想去看源码,时间不允许,就留到下次吧。
Binary XML file line #2: Error inflating class <unknown>相关推荐
- Binary XML file line #8: Error inflating class android.support.v7.widget.RecyclerView
今天创建了一个 demo ,然后就是复制RecyclerView 过去, 到最后完成运行的时候发现 系统奔溃了, 然后 提示 Binary XML file line #8: Error inflat ...
- android Binary XML file line #1: Binary XML file line #1: Error inflating class x 问题详解
话不多少,上错误堆栈: Process: com.mci.smagazine, PID: 25065java.lang.RuntimeException: Unable to start activi ...
- Android --- Binary XML file line2 Binary XML file line 2 Error inflating class unknown
报错信息如下: 05/21 10:18:21: Launching app $ adb push D:\android install files\jishi\app\build\outputs\ap ...
- Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class lzl.edu.c
在自定义view中常常会出现这么一个错误 Caused by: android.view.InflateException: Binary XML file line #12: Error infla ...
- android recyclerView Binary XML file line #7: Error inflating class android.support.v7.widget.Recycl
Binary XML file line #7: Error inflating class android.support.v7.widget.RecyclerView 原来在eclipse中使用R ...
- android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating
android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating cla ...
- 运行安卓程序报错android.view.InflateException: Binary XML file line #11: Error inflating class ImageView
运行安卓程序报错android.view.InflateException: Binary XML file line #11: Error inflating class ImageView 先上代 ...
- Binary XML file line #9: Error inflating class
报错日志 02-22 23:12:44.403 29776-29776/com.example.btn_press E/AndroidRuntime: FATAL EXCEPTION: main ...
- Binary XML file line 2: Error inflating class
文章目录 问题 解决方案 在开发中遇到一个神奇的坑,先做记录. 问题 功能很简单,给某个点击区域设置按压态,正常颜色是 @color/colorPrimaryDark,被点击时是 @color/col ...
最新文章
- 送你9个快速使用Pytorch训练解决神经网络的技巧(附代码)
- iphone开发畅销书TOP5(china-pub内部数据)
- MariaDB 视图与触发器(11)
- 关闭自动更新_Win10系统关闭自动更新方法
- Spotlight监控工具使用
- Mysql面试常见知识点总结(一)
- windows 7 引导过程概述
- 【转帖】防止ASP.NET按钮多次提交的办法
- java程序用maven打包的命令
- 矩阵Jordan标准型过渡矩阵的求解
- 使用注册表管理桌面新建文件
- 好用的菜单栏翻译软件Bob使用教程,Bob怎么打开录屏权限
- 锁存器和缓冲器的区别
- 树莓派上云-天工物接入
- [vue]vue接入AntV G2Plot
- c语言程序设计在哪讲,《C语言程序设计》讲.doc
- CSS实现两端对齐(及原理)
- Latex常用语法结构
- 在vue中使用Google Recaptcha验证
- echarts基本图例
热门文章
- springboot 添加url过滤器
- 2023劲牌持正堂药业合作商大会成功召开
- let‘s encrypt 免费https证书申请
- 程序猿的中秋夜,利用这些“代码”,解锁团聚新姿态
- matlab返回空格,matlab中用fprintf怎么写入空格 、制表符,回车换行等符号?
- docker安装和操作
- [附源码]java毕业设计万科电子商城
- 万科java_[Java教程]仿万科底部的新闻滑动特效
- 无痛苦减肥的一场春梦
- Ubuntu16 编译源码安装MXNet 可变卷积Deformable-ConvNets GPU版