Caused by: android.content.res.Resources$NotFoundException: File res/drawable-mdpi/
2015-10-24 18:10
549 查看
这是我在做测试应用功能时,出现的一个bug,先晒晒看看问题吧
10-24 14:31:12.914: E/AndroidRuntime(867): FATAL EXCEPTION: main 10-24 14:31:12.914: E/AndroidRuntime(867): Process: com.android.systemui, PID: 867 10-24 14:31:12.914: E/AndroidRuntime(867): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.systemui/com.android.systemui.usb.UsbStorageActivity}: android.content.res.Resources$NotFoundException: File res/drawable-mdpi/pointer_spot_hover_icon.xml from drawable resource ID #0x10804b6 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2338) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.ActivityThread.access$800(ActivityThread.java:151) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.os.Handler.dispatchMessage(Handler.java:110) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.os.Looper.loop(Looper.java:193) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.ActivityThread.main(ActivityThread.java:5299) 10-24 14:31:12.914: E/AndroidRuntime(867): at java.lang.reflect.Method.invokeNative(Native Method) 10-24 14:31:12.914: E/AndroidRuntime(867): at java.lang.reflect.Method.invoke(Method.java:515) 10-24 14:31:12.914: E/AndroidRuntime(867): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829) 10-24 14:31:12.914: E/AndroidRuntime(867): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 10-24 14:31:12.914: E/AndroidRuntime(867): at dalvik.system.NativeStart.main(Native Method) 10-24 14:31:12.914: E/AndroidRuntime(867): Caused by: android.content.res.Resources$NotFoundException: File res/drawable-mdpi/pointer_spot_hover_icon.xml from drawable resource ID #0x10804b6 10-24 14:31:12.914: E/AndroidRuntime(867): at android.content.res.Resources.loadDrawable(Resources.java:2152) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.content.res.Resources.getDrawable(Resources.java:710) 10-24 14:31:12.914: E/AndroidRuntime(867): at com.android.internal.widget.ActionBarView.setIcon(ActionBarView.java:718) 10-24 14:31:12.914: E/AndroidRuntime(867): at com.android.internal.policy.impl.PhoneWindow.setDefaultIcon(PhoneWindow.java:1469) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.Activity.initActionBar(Activity.java:1930) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.Activity.setContentView(Activity.java:1945) 10-24 14:31:12.914: E/AndroidRuntime(867): at com.android.systemui.usb.UsbStorageActivity.onCreate(UsbStorageActivity.java:238) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.Activity.performCreate(Activity.java:5264) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302) 10-24 14:31:12.914: E/AndroidRuntime(867): ... 11 more 10-24 14:31:12.914: E/AndroidRuntime(867): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: invalid drawable tag pointer-icon 10-24 14:31:12.914: E/AndroidRuntime(867): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:933) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877) 10-24 14:31:12.914: E/AndroidRuntime(867): at android.content.res.Resources.loadDrawable(Resources.java:2148) 10-24 14:31:12.914: E/AndroidRuntime(867): ... 20 more这个错误是我在测试状态栏时出现的bug,第一开始我认为哪里少了资源,下面我把我遇到的这种情况一一列出来
1.缺少我们需要的资源,只有我们在需要的文件添加就可以了
2.把我们的apk重新clean一下,原因我们的虚拟机被占用,这样就可以了
3.赋值错误,原因:比如settext(),我们却给了drawable类型,就会报错
4.framework\base\core\res添加资源时,我们需要update-api 一下,在current.txt中生成资源id
而我现在遇到的却不是以上的问题,所以我无法确定哪里出现了问题,首先我把UsbStorageActivity资源和pointer_spot_hover_icon.xml 中资源都搜索,发现资源文件都存在,那为什么会出现这种错误哪?
因为它是偶然出现的错误,复发性很低,所以无法重复出现,所以我首先在UsbStorageActivity中添加try cauch 只是为了防止出现错误时,影响用户的使用体验, 然后在drawable文件中添加pointer_spot_hover_icon.xml ,防止为适配不在标准中,像我现在就是360*360的,如果有好的建议,请回复,现在我只能这样做
相关文章推荐
- Android扫描二维码
- Android学习笔记(四)——ListView
- android 解决fragment中有百度高德等地图,切换出现闪一下黑屏的问题
- QQ第三方登录
- Android Java和JavaScript代码相互调用
- 【Android成长之路】Menu的简单应用
- Android Studio Shortcuts
- Android点击EditText文本框之外任何地方隐藏键盘的解决办法
- 安卓开发学习之004 LinearLayout之分隔线 divider详解
- [转]Android Studio开发入门-引用jar及so文件
- Android异步消息处理机制
- android的消息处理机制
- Android样式与主题浅析
- Android studio设置启动时不自动打开上次关闭的项目
- Android解析XML文件到Spinner中
- Android如何控制系统的输入法显示和隐藏
- Android Studio中清单文件改versionCode和versionName没效果的原因
- Android 命名规范 (提高代码可以读性)
- Force removing ActivityRecord no saved state问题的原因分析及解决方法
- 学Android---FileExplorer查看文件