在 samsung s2 上测试应用程序时获取 Resources$NotFoundException

Getting Resources$NotFoundException when testing application on samsung s2

我的应用程序正在 Samsung S2 4.1.2 上进行测试,它一直无缘无故地崩溃。此应用程序可在其他具有 4.2+ android 版本的手机上运行,​​并且在这些手机上运行良好,但在该手机上崩溃(或者我认为有此版本)。

这里是logcat

FATAL EXCEPTION: main
               android.content.res.Resources$NotFoundException: Resource ID #0x7f0200e8
                   at android.content.res.Resources.getValue(Resources.java:1026)
                   at android.content.res.Resources.getDrawable(Resources.java:671)
                   at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
                   at android.support.v7.widget.TintManager.getDrawable(TintManager.java:147)
                   at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:421)
                   at android.support.v7.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:114)
                   at android.support.v7.widget.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:206)
                   at android.support.v7.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:182)
                   at android.support.v7.widget.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:192)
                   at android.support.v7.widget.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:451)
                   at android.support.v7.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1138)
                   at android.support.v7.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:91)
                   at android.support.v7.widget.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:229)
                   at android.support.v7.view.menu.MenuBuilder.dispatchPresenterUpdate(MenuBuilder.java:284)
                   at android.support.v7.view.menu.MenuBuilder.onItemsChanged(MenuBuilder.java:1030)
                   at android.support.v7.view.menu.MenuBuilder.startDispatchingItemsChanged(MenuBuilder.java:1053)
                   at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:449)
                   at android.support.v7.app.ToolbarActionBar.run(ToolbarActionBar.java:60)
                   at android.os.Handler.handleCallback(Handler.java:615)
                   at android.os.Handler.dispatchMessage(Handler.java:92)
                   at android.os.Looper.loop(Looper.java:137)
                   at android.app.ActivityThread.main(ActivityThread.java:4921)
                   at java.lang.reflect.Method.invokeNative(Native Method)
                   at java.lang.reflect.Method.invoke(Method.java:511)
                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
                   at dalvik.system.NativeStart.main(Native Method)

您在评论中确认的 API 依赖文件夹意味着您尝试访问的资源只能由文件夹上指示的 API 级别(或更高级别)访问.因此,如果您在 drawables-v17 之类的文件夹中拥有您尝试访问的资源,那么这意味着只能由 API 17 及更高版本(Android 4.2+)访问可绘制对象。 Android 4.1 将无法访问它,因此您将拥有此处看到的 NotFoundException。如果您将资源放在与任何 API 级别无关的文件夹中(即,只是 drawables),应该没问题。