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>相关推荐

  1. Binary XML file line #8: Error inflating class android.support.v7.widget.RecyclerView

    今天创建了一个 demo ,然后就是复制RecyclerView 过去, 到最后完成运行的时候发现 系统奔溃了, 然后 提示 Binary XML file line #8: Error inflat ...

  2. 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 ...

  3. 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 ...

  4. 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 ...

  5. 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 ...

  6. 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 ...

  7. 运行安卓程序报错android.view.InflateException: Binary XML file line #11: Error inflating class ImageView

    运行安卓程序报错android.view.InflateException: Binary XML file line #11: Error inflating class ImageView 先上代 ...

  8. 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   ...

  9. Binary XML file line 2: Error inflating class

    文章目录 问题 解决方案 在开发中遇到一个神奇的坑,先做记录. 问题 功能很简单,给某个点击区域设置按压态,正常颜色是 @color/colorPrimaryDark,被点击时是 @color/col ...

最新文章

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

热门文章

  1. WeifenLuo.WinFormsUI.Docking学
  2. android 获取 imei号码 以及其他手机信息
  3. 利用阿里云API为树莓派做DDNS
  4. arducopter--parachute
  5. hFE和hfe有什么不同?
  6. Unet变形——融合片间特征和片内特征的H-DenseUnet
  7. openwrt wan和lan共用端口拨号。
  8. PyQt文本输出textEdit
  9. 敏捷开发流程【Scrum】
  10. 《那些年啊,那些事——一个程序员的奋斗史》——85