Не удалось запустить активность ComponentInfo: android.view.InflateException: строка двоичного XML-файла № 63: ошибка наполнения класса «неизвестно»

Не удалось запустить действие ComponentInfo: android.view.InflateException: строка двоичного XML-файла № 63: ошибка наполнения класса ‹ неизвестно>

Начнем с проблемы:
приложение отлично работает на android 8.0 one my oneplus
, но не работает на моем < strong>android 5.0 J5 (2015)
Сначала я получил ошибку в строке #0 в моем activity_main.xml, но после добавления android.enableAapt2=false в файл gradle.properties я получил ошибку в строке #63
Думаю, это помогло.

Также строка 40 в MainActivity.class равна setContentView(R.layout.activity_main); .
Вы можете просмотреть исходный код всего проекта на моем github здесь.

трассировки стека

Process: me.toxicmushroom.broodtimer, PID: 5160
java.lang.RuntimeException: Unable to start activity ComponentInfo{me.toxicmushroom.broodtimer/me.toxicmushroom.broodtimer.MainActivity}: android.view.InflateException: Binary XML file line #63: Error inflating class <unknown>
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
              at android.app.ActivityThread.access$800(ActivityThread.java:151)
              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
              at android.os.Handler.dispatchMessage(Handler.java:102)
              at android.os.Looper.loop(Looper.java:135)
              at android.app.ActivityThread.main(ActivityThread.java:5254)
              at java.lang.reflect.Method.invoke(Native Method)
              at java.lang.reflect.Method.invoke(Method.java:372)
              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
              Caused by: android.view.InflateException: Binary XML file line #63: Error inflating class <unknown>
      at android.view.LayoutInflater.createView(LayoutInflater.java:633)
              at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
              at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
              at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
              at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
              at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
              at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
              at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
              at me.toxicmushroom.broodtimer.MainActivity.onCreate(MainActivity.java:40)
              at android.app.Activity.performCreate(Activity.java:5990)
              at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
              at android.app.ActivityThread.access$800(ActivityThread.java:151) 
              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
              at android.os.Handler.dispatchMessage(Handler.java:102) 
              at android.os.Looper.loop(Looper.java:135) 
              at android.app.ActivityThread.main(ActivityThread.java:5254) 
              at java.lang.reflect.Method.invoke(Native Method) 
              at java.lang.reflect.Method.invoke(Method.java:372) 
              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
              Caused by: java.lang.reflect.InvocationTargetException
              at java.lang.reflect.Constructor.newInstance(Native Method)
              at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
              at android.view.LayoutInflater.createView(LayoutInflater.java:607)
              at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) 
              at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
              at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
              at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
              at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
              at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
              at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
              at me.toxicmushroom.broodtimer.MainActivity.onCreate(MainActivity.java:40) 
              at android.app.Activity.performCreate(Activity.java:5990) 
              at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
              at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
              at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
              at android.app.ActivityThread.access$800(ActivityThread.java:151) 
              at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
              at android.os.Handler.dispatchMessage(Handler.java:102) 
              at android.os.Looper.loop(Looper.java:135) 
              at android.app.ActivityThread.main(ActivityThread.java:5254) 
              at java.lang.reflect.Method.invoke(Native Method) 
              at java.lang.reflect.Method.invoke(Method.java:372) 
              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
              Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f02005e
              at android.content.res.Resources.getValue(Resources.java:1266)
              at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:328)
              at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)
              at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186)
              at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)
              at android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:58)
              at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:175)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:151)
at java.lang.reflect.Constructor.newInstance(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
at android.view.LayoutInflater.createView(LayoutInflater.java:607) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 
at me.toxicmushroom.broodtimer.MainActivity.onCreate(MainActivity.java:40) 
at android.app.Activity.performCreate(Activity.java:5990) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
at android.app.ActivityThread.access$800(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5254) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 


Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="me.toxicmushroom.broodtimer.MainActivity">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:contentInsetLeft="0dp"
        app:contentInsetStart="16dp"
        app:popupTheme="@style/Theme.AppCompat.Light" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@id/toolbar"
        android:text="Loaded Broden"
        android:textAlignment="center"
        android:textColor="@android:color/white"
        android:textSize="20dp" />

    <android.support.v7.widget.RecyclerView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/textView" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab2"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_alignLeft="@+id/fab"
        android:layout_alignStart="@+id/fab"
        android:layout_alignTop="@+id/fab"
        app:backgroundTint="@android:color/holo_blue_dark"
        app:srcCompat="@drawable/ic_create_new_folder_white_24dp"
        tools:ignore="VectorDrawableCompat" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab1"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_alignLeft="@+id/fab"
        android:layout_alignStart="@+id/fab"
        android:layout_alignTop="@+id/fab"
        app:backgroundTint="@android:color/holo_blue_dark"
        app:srcCompat="@drawable/ic_folder_open_white_24dp"
        tools:ignore="VectorDrawableCompat" />


    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="45dp"
        android:layout_height="45dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_margin="21dp"
        app:backgroundTint="@color/colorPrimary"
        app:srcCompat="@drawable/ic_add_white_24dp"
        tools:ignore="VectorDrawableCompat" />
</RelativeLayout>

person PixelHamster    schedule 20.02.2018    source источник


Ответы (1)


Ключевые части вашей трассировки стека:

Caused by: android.view.InflateException: Binary XML file line #63: Error inflating class <unknown>

и

Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f02005e

Строка № 63 указывает на последний FloatingActionButton в вашем макете. Глядя на ваш проект github, ic_add_white_24dp находится только в drawable-v24, но не в неполной папке drawable. Следовательно, код не работает на уровнях API ниже 24.

person laalto    schedule 20.02.2018