某些设备上的 Resources$NotFoundException (setIcon)
Resources$NotFoundException on some devices (setIcon)
在 Google Play 商店中,我可以在某些设备(Android 8.0 和 8.1)上看到以下崩溃日志输出。但是,我无法找出原因,因为日志输出和所有可绘制文件夹(hdpi、mdpi、xhdpi、xxhdpi、xxxhdpi)中缺少可能丢失的资源 ID,我有必要的 PNG 图像。
你知道原因是什么吗?
Caused by: android.content.res.Resources$NotFoundException:
at android.content.res.ResourcesImpl.getValue (ResourcesImpl.java:215)
at android.content.res.Resources.getValue (Resources.java:1316)
at androidx.appcompat.widget.ResourceManagerInternal.createDrawableIfNeeded (ResourceManagerInternal.java:176)
at androidx.appcompat.widget.ResourceManagerInternal.getDrawable (ResourceManagerInternal.java:141)
at androidx.appcompat.widget.ResourceManagerInternal.getDrawable (ResourceManagerInternal.java:132)
at androidx.appcompat.content.res.AppCompatResources.getDrawable (AppCompatResources.java:104)
at com.google.android.material.tabs.TabLayout$Tab.setIcon (TabLayout.java:1968)
at com.xyz.myapp.MainActivity.setupTabIcons (MainActivity.java:184)
at com.xyz.myapp.MainActivity.initialize (MainActivity.java:176)
at com.xyz.myapp.MainActivity.onRequestPermissionsResult (MainActivity.java:453)
at android.app.Activity.dispatchRequestPermissionsResult (Activity.java:7429)
at android.app.Activity.dispatchActivityResult (Activity.java:7280)
at android.app.ActivityThread.deliverResults (ActivityThread.java:4264)
切换到应用程序包后,我开始收到其中一些报告。我一直认为它们来自从 third-party APK 镜像站点下载我的应用程序的用户。因此,如果他们下载的 APK 与他们设备的密度桶不匹配,应用就会崩溃,因为相关资产不存在。
在 Google Play 商店中,我可以在某些设备(Android 8.0 和 8.1)上看到以下崩溃日志输出。但是,我无法找出原因,因为日志输出和所有可绘制文件夹(hdpi、mdpi、xhdpi、xxhdpi、xxxhdpi)中缺少可能丢失的资源 ID,我有必要的 PNG 图像。
你知道原因是什么吗?
Caused by: android.content.res.Resources$NotFoundException:
at android.content.res.ResourcesImpl.getValue (ResourcesImpl.java:215)
at android.content.res.Resources.getValue (Resources.java:1316)
at androidx.appcompat.widget.ResourceManagerInternal.createDrawableIfNeeded (ResourceManagerInternal.java:176)
at androidx.appcompat.widget.ResourceManagerInternal.getDrawable (ResourceManagerInternal.java:141)
at androidx.appcompat.widget.ResourceManagerInternal.getDrawable (ResourceManagerInternal.java:132)
at androidx.appcompat.content.res.AppCompatResources.getDrawable (AppCompatResources.java:104)
at com.google.android.material.tabs.TabLayout$Tab.setIcon (TabLayout.java:1968)
at com.xyz.myapp.MainActivity.setupTabIcons (MainActivity.java:184)
at com.xyz.myapp.MainActivity.initialize (MainActivity.java:176)
at com.xyz.myapp.MainActivity.onRequestPermissionsResult (MainActivity.java:453)
at android.app.Activity.dispatchRequestPermissionsResult (Activity.java:7429)
at android.app.Activity.dispatchActivityResult (Activity.java:7280)
at android.app.ActivityThread.deliverResults (ActivityThread.java:4264)
切换到应用程序包后,我开始收到其中一些报告。我一直认为它们来自从 third-party APK 镜像站点下载我的应用程序的用户。因此,如果他们下载的 APK 与他们设备的密度桶不匹配,应用就会崩溃,因为相关资产不存在。