选择全部导致abc_ic_menu_selectall_material.xml资源未找到异常。

4

当我在一个Lollipop版本之前的设备上运行我的应用程序并尝试按住任何文本以选择文本时,应用程序会崩溃。

这是我收到的错误信息:

03-27 10:53:45.794 10156-10156/com.****** E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.******, PID: 10156
android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_menu_selectall_material.xml from drawable resource ID #0x7f02001e
    at android.content.res.Resources.loadDrawable(Resources.java:3448)
    at android.content.res.Resources.getDrawable(Resources.java:1892)
    at com.android.internal.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:388)
    at com.android.internal.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:151)
    at com.android.internal.view.menu.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:263)
    at com.android.internal.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:178)
    at com.android.internal.view.menu.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:249)
    at com.android.internal.view.menu.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:530)
    at com.android.internal.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1062)
    at com.android.internal.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:87)
    at com.android.internal.view.menu.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:302)
    at com.android.internal.view.menu.BaseMenuPresenter.getMenuView(BaseMenuPresenter.java:72)
    at com.android.internal.view.menu.ActionMenuPresenter.getMenuView(ActionMenuPresenter.java:240)
    at com.android.internal.widget.ActionBarContextView.initForMode(ActionBarContextView.java:399)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionMode(PhoneWindow.java:2552)
    at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionModeForChild(PhoneWindow.java:2492)
    at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665)
    at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665)
    at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665)
    at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665)
    at android.view.View.startActionMode(View.java:4594)
    at android.widget.Editor.startSelectionActionMode(Editor.java:1656)
    at android.widget.Editor.performLongClick(Editor.java:907)
    at android.widget.TextView.performLongClick(TextView.java:8859)
    at android.view.View$CheckForLongPress.run(View.java:18582)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5426)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
    at dalvik.system.NativeStart.main(Native Method)
 Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line
    #17: invalid drawable tag vector
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:969)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:913)
    at android.content.res.Resources.loadDrawable(Resources.java:3444)
    at android.content.res.Resources.getDrawable(Resources.java:1892) 
    at com.android.internal.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:388) 
    at com.android.internal.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:151) 
    at com.android.internal.view.menu.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:263) 
    at com.android.internal.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:178) 
    at com.android.internal.view.menu.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:249) 
    at com.android.internal.view.menu.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:530) 
    at com.android.internal.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1062) 
    at com.android.internal.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:87) 
    at com.android.internal.view.menu.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:302) 
    at com.android.internal.view.menu.BaseMenuPresenter.getMenuView(BaseMenuPresenter.java:72) 
    at com.android.internal.view.menu.ActionMenuPresenter.getMenuView(ActionMenuPresenter.java:240) 
    at com.android.internal.widget.ActionBarContextView.initForMode(ActionBarContextView.java:399) 
    at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionMode(PhoneWindow.java:2552) 
    at com.android.internal.policy.impl.PhoneWindow$DecorView.startActionModeForChild(PhoneWindow.java:2492) 
    at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665) 
    at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665) 
    at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665) 
    at android.view.ViewGroup.startActionModeForChild(ViewGroup.java:665) 
    at android.view.View.startActionMode(View.java:4594) 
    at android.widget.Editor.startSelectionActionMode(Editor.java:1656) 
    at android.widget.Editor.performLongClick(Editor.java:907) 
    at android.widget.TextView.performLongClick(TextView.java:8859) 
    at android.view.View$CheckForLongPress.run(View.java:18582) 
    at android.os.Handler.handleCallback(Handler.java:733) 
    at android.os.Handler.dispatchMessage(Handler.java:95) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5426) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) 
    at dalvik.system.NativeStart.main(Native Method)
2个回答

1
我找到了一个解决方案,我使用的是compileSdkVersion 'android-N',显然这是一个在SDK 23.1.0中修复的错误,但由于某些原因,开发人员未能在Android N预览SDK中修复它。回到SDK 23后,我的旧设备上一切都重新开始工作了。

4
我正在使用compileSdkVersion 23,buildToolsVersion '23.0.2',我遇到了这个问题,我的Galaxy S3在android 4.3上出现了错误:(。你能给些建议吗?@yehyatt - 1'hafs
我在一个4.1.2设备上尝试了相同的设置(compileSdkVersion 23,buildToolsVersion '23.0.2'),它没有任何问题,看起来对你来说是其他问题。 - yehyatt

0

我通过将appcompat-v7:23.2.0升级到appcompat-v7:23.2.1来解决了这个问题。

这个错误是由于AppCompat中已知的Android bug引起的。请参阅android bug report以获取更多详细信息。


@TheHunter,我之前也在Galaxy S3上运行compileSdkVersion 23和Android 4.3。请尝试我的建议。 - IanS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接