由 android.view.InflateException 二进制 XML 文件行 #101 引起:由 android.content.res.Resources$NotFoundException 引起
Caused by android.view.InflateException Binary XML file line #101: Caused by android.content.res.Resources$NotFoundException
从 Crashlytics 收到此错误,影响了一些设备:
由android.view.InflateException引起
二进制 XML 文件行 #101:二进制 XML 文件行 #101:错误膨胀 class
由 android.content.res.Resources$NotFoundException 引起
资源 ID 为 #0x7f06008a
的可绘制对象(缺少名称)
有趣的是,这是我在新的 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"
/>
这是我所有的可绘制文件夹 with/without help.png:
drawable -> help.png
drawable-hdpi -> help.png
drawable-nodpi -> No Help image
drawable-xhdpi -> No Help image
drawable-xxhdpi -> help.png
以下是一些发生错误的设备(根据 Crashlytics,我无法用我们拥有的少数测试手机复制它):Galaxy J7(2016) 7.0、Optimus L40 4.42、m3 Note 5.1、Galaxy s4 4.4.2)
这是 Google Play 的新 App Bundle 格式中的错误,还是开发人员需要拥有所有可绘制文件夹以及每个文件夹中的资产?
由于您在 xhdpi
文件夹中没有 help.png
,这就是您出现该错误的原因,因为 xhdpi
与 720 X 1280px
密度相关联(例如:Galaxy J7).
您可以只将 xxhdpi
图片放入 no-dpi
文件夹,或者将该图片放入所有文件夹。
在您的 build.gradle 应用级别
文件中
这可能存在
bundle {
density {
enableSplit true
}
abi {
enableSplit true
}
language {
enableSplit false
}
}
您可以删除 density
标签,或删除整个捆绑包标签,因为它包含在 AAB 的 Beta 版本中,现在 google 将处理所有要拆分的资源。
从 Crashlytics 收到此错误,影响了一些设备:
由android.view.InflateException引起 二进制 XML 文件行 #101:二进制 XML 文件行 #101:错误膨胀 class
由 android.content.res.Resources$NotFoundException 引起 资源 ID 为 #0x7f06008a
的可绘制对象(缺少名称)有趣的是,这是我在新的 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"
/>
这是我所有的可绘制文件夹 with/without help.png:
drawable -> help.png
drawable-hdpi -> help.png
drawable-nodpi -> No Help image
drawable-xhdpi -> No Help image
drawable-xxhdpi -> help.png
以下是一些发生错误的设备(根据 Crashlytics,我无法用我们拥有的少数测试手机复制它):Galaxy J7(2016) 7.0、Optimus L40 4.42、m3 Note 5.1、Galaxy s4 4.4.2)
这是 Google Play 的新 App Bundle 格式中的错误,还是开发人员需要拥有所有可绘制文件夹以及每个文件夹中的资产?
由于您在 xhdpi
文件夹中没有 help.png
,这就是您出现该错误的原因,因为 xhdpi
与 720 X 1280px
密度相关联(例如:Galaxy J7).
您可以只将 xxhdpi
图片放入 no-dpi
文件夹,或者将该图片放入所有文件夹。
在您的 build.gradle 应用级别
文件中这可能存在
bundle {
density {
enableSplit true
}
abi {
enableSplit true
}
language {
enableSplit false
}
}
您可以删除 density
标签,或删除整个捆绑包标签,因为它包含在 AAB 的 Beta 版本中,现在 google 将处理所有要拆分的资源。