Cra sh из-за отсутствия девяти патчей при наличии девяти патчей - PullRequest
2 голосов
/ 16 февраля 2020

Я постоянно получаю отчеты Crashlytics относительно cra sh при накачивании TextView:

Fatal Exception: java.lang.RuntimeException: Unable to resume activity 
{co.tinode.tindroidx/co.tinode.tindroid.MessageActivity}: 
    android.view.InflateException: Binary XML file line #10 in 
    co.tinode.tindroidx:layout/fragment_invalid_topic: Binary XML file line #10 in 
    co.tinode.tindroidx:layout/fragment_invalid_topic: Error inflating class TextView

...

Caused by android.content.res.Resources$NotFoundException: 
   Drawable (missing name) with resource ID #0x7f080067

Это определение TextView, которое не может быть заполнено. ID #0x7f080067 - это идентификатор патча @drawable/bubble nine.

    <TextView
        style="@style/textPrimary"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="@drawable/bubble"
        android:padding="12dp"
        android:gravity="center"
        android:text="@string/topic_not_found_or_invalid" />

Но 901-патч @drawable/bubble присутствует в 5 разрешениях:

enter image description here

Единственное разрешение, которое отсутствует ldpi. Это не разрешение устройств, где он падает, хотя. Например, последний cra sh был на Redmi Note 7 (API 29), который не является устройством ldpi. Другие недавние сбои были OPPO A9 (API 28) и Sony Xperia Z5 Premium (API 25).

Другие ресурсы также присутствуют:

@string/topic_not_found_or_invalid присутствует во всех переводах , Даже если бы он отсутствовал в одном из переводов, он вернулся бы к Engli sh.

Стиль также там:

    <style name="textPrimary" parent="@android:style/TextAppearance.DeviceDefault.Medium">
        <item name="android:textColor">@color/colorTextPrimary</item>
    </style>

И цвет @color/colorTextPrimary:

    <color name="colorTextPrimary">#212121</color>

Я не могу воспроизвести cra sh ни на одном из моих устройств или в эмуляторе. Я полностью сбит с толку. В чем может быть причина крэ sh?

...