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 ...
最新文章
- maven引用servlet_解决Maven 项目报错 java.httpservlet和synchronized使用方法
- Establishing SSL connection without server's identity verification is not recommended.
- 在统计学中参数的含义是指_期刊论文中科研统计学缺陷分析及解决路径
- SQL Server in Docker - 还原数据库
- viewpager 自定义翻页效果_Android RecyclerView自定义LayoutManager
- JavaScript-数组相关作业
- JavaScript console.log导致错误:“不赞成在主线程上使用同步XMLHttpRequest…”
- EDA发展历史及现状
- win10支持8t 硬盘_WIN8.1/ WIN10磁盘分区详解
- Godot3游戏引擎入门之十:介绍一些常用的节点并开发一个小游戏(中)
- YARN : FairScheduler深入解析(队列维护,demand、fair share计算)
- IM即时通信多房间聊天室仿微信聊天(一)
- Java多线程篇--并发关键字synchronized和volatile
- 国际赛事证书,220G数据集开放下载|ACCV2022国际细粒度图像分析挑战赛开赛
- notepad++安装(kali 64位)
- 算法---排序--希尔排序和快速排序
- tecplot 通过数据点、坐标点绘制云图、三维云图
- IPhone免越狱安装IPA软件
- Java8 Stream 分页-多字段排序-筛选
- 皮尔逊相关系数php,科学网—[严肃内容] 鲁索(Rousseau)教授对皮尔逊相关系数实质认识的图示 - 杨正瓴的博文...