由 android.view.InflateException 二进制 XML 文件第 101 行引起:由 android.content.res.Resources$NotFoundException 引起

Tom*_*omV 9 android bundle

从 Crashlytics 得到这个错误,影响了一些设备:

由 android.view.InflateException 二进制 XML 文件行 #101:二进制 XML 文件行 #101:错误膨胀类引起

由资源 ID #0x7f06008a 的 android.content.res.Resources$NotFoundException Drawable(缺少名称)引起

有趣的是,这只是在我在新的 Android App Bundle 中发布该应用程序后才出现的。发布 .apk 时没有发生这种情况。事实上,为了解决它,我又恢复了以 .apk 的形式发布它。但我想通过新的 Android App Bundle 获得发布的好处。我知道这与 Drawable 文件夹有关。这是 xml 文件中的第 101 行:

<ImageView
    android:id="@+id/learn_chords_help_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="0dp"
    android:paddingTop="20dp"
    android:src="@drawable/help"
    android:contentDescription="Learn Chords Help"
    android:layout_toRightOf="@id/learn_chords_button"
    android:layout_above="@id/creditText"
    />
Run Code Online (Sandbox Code Playgroud)

这是我所有带/不带 help.png 的可绘制文件夹:

drawable -> help.png
drawable-hdpi -> help.png
drawable-nodpi -> No Help image
drawable-xhdpi -> No Help image
drawable-xxhdpi -> help.png
Run Code Online (Sandbox Code Playgroud)

以下是发生错误的一些设备(根据 Crashlytics,我无法用我们拥有的少数测试手机复制它):Galaxy J7(2016) 7.0、Optimus L40 4.42、m3 Note 5.1、Galaxy s4 4.4.2)

这是 Google Play 的新 App Bundle 格式中的错误,还是开发人员需要在每个文件夹中都拥有包含资产的所有可绘制文件夹?

Flo*_*lin 3

由于您没有help.png文件xhdpi夹,这就是您出现该错误的原因,因为xhdpi与密度相关720 X 1280px(例如:Galaxy J7)。

您可以仅将xxhdpi图片放入no-dpi文件夹中,也可以将该图片放入所有文件夹中。