在 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
),应该没问题。
我的应用程序正在 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
),应该没问题。