找不到资源,仅在看似随机的设备上

时间:2019-02-26 16:00:50

标签: android resources

我在实时应用程序中遇到了很多崩溃。

Fatal Exception: android.content.res.Resources$NotFoundException
Resource ID #0x7f080389

资源存在。 这是一个PNG,并且使用来设置。

icon.setImageResource(a.icon);

其中a.icon是带有所需图像ID的int。我100%肯定这里的值还可以。

关于设备和操作系统,没有明显的模式。使用相同的手机和OS版本进行测试,并且大多数实时用户都可以使用。 该应用使用软件包在Play商店中分发。 我目前的理论是,有些人是从其他地方获得该应用程序的(该应用程序并非到处都有),而他们尝试使用的APK与手机的屏幕密度不匹配。 这是否合理(我可以防止这种情况发生)还是还有其他可能性? 干杯。

2 个答案:

答案 0 :(得分:0)

即将出现此异常是因为存在图像,但并非所有分辨率都存在。 设备将检查所有可绘制文件夹中等于或小于当前设备分辨率的图像。 各种屏幕分辨率为mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi。 示例:如果图像存在于drawable-xxhdpi文件夹中,并且设备的分辨率为xhdpi。然后它将仅在drawable-xhdpi,drawable-hdpi,drawable-mdpi和默认drawable文件夹中检查图像,并且可能会导致找不到资源异常。 因此,您应该根据质量将图像添加到所有各种分辨率文件夹中。 xxxhdpi应具有清晰和高质量的图像。 另外,建议在默认的可绘制文件夹中添加默认图像,以避免任何找不到资源的异常。 希望对您有所帮助。

答案 1 :(得分:0)

将应用程序发布为APK。完全没有问题。肯定有一些与软件包拆分不符的事情。