1 问题
在我的oppo机器上面运行一个页面没有奔溃,但是在红米安卓5.1版本运行页面奔溃,奔溃信息如下
/Timeline(11600): Timeline: Activity_launch_request time:61313216
I/WtProcessController( 3721): FOREGROUND INFO: name=com.appsinnova.android.keepshare uid=10234 pid=11600 TaskId:1079
W/ResourceType(11600): Failure getting entry for 0x7f08010a (t=7 e=266) (error -75)
I/ViewRootImpl(11600): CPU Rendering VSync enable = true
E/RecyclerView(11600): No adapter attached; skipping layout
W/ResourceType(11600): Failure getting entry for 0x7f08010a (t=7 e=266) (error -75)
D/AndroidRuntime(11600): Shutting down VM
E/AndroidRuntime(11600): FATAL EXCEPTION: main
E/AndroidRuntime(11600): Process: com.appsinnova.android.keepshare, PID: 11600
E/AndroidRuntime(11600): android.content.res.Resources$NotFoundException: Resource ID #0x7f08010a
E/AndroidRuntime(11600): at android.content.res.Resources.getValue(Resources.java:1313)
E/AndroidRuntime(11600): at android.content.res.MiuiResources.getValue(MiuiResources.java:146)
E/AndroidRuntime(11600): at android.content.res.Resources.getDrawable(Resources.java:832)
E/AndroidRuntime(11600): at android.widget.Editor.updateCursorPosition(Editor.java:1764)
E/AndroidRuntime(11600): at android.widget.Editor.updateCursorsPositions(Editor.java:1597)
E/AndroidRuntime(11600): at android.widget.TextView.getUpdatedHighlightPath(TextView.java:5257)
E/AndroidRuntime(11600): at android.widget.TextView.onDraw(TextView.java:5444)
E/AndroidRuntime(11600): at android.view.View.draw(View.java:15261)
E/AndroidRuntime(11600): at android.view.View.updateDisplayListIfDirty(View.java:14197)
E/AndroidRuntime(11600): at android.view.View.getDisplayList(View.java:14219)
E/AndroidRuntime(11600): at android.view.View.draw(View.java:14989)
E/AndroidRuntime(11600): at android.view.ViewGroup.drawChild(ViewGroup.java:3408)
E/AndroidRuntime(11600): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3201)
E/AndroidRuntime(11600): at android.view.View.updateDisplayListIfDirty(View.java:14192)
E/AndroidRuntime(11600): at android.view.View.getDisplayList(View.java:14219)
E/AndroidRuntime(11600): at android.view.View.draw(View.java:14989)
E/AndroidRuntime(11600): at android.view.ViewGroup.drawChild(ViewGroup.java:3408)
E/AndroidRuntime(11600): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3201)
E/AndroidRuntime(11600): at android.view.View.updateDisplayListIfDirty(View.java:14192)
E/AndroidRuntime(11600): at android.view.View.getDisplayList(View.java:14219)
E/AndroidRuntime(11600): at android.view.View.draw(View.java:14989)
E/AndroidRuntime(11600): at android.view.ViewGroup.drawChild(ViewGroup.java:3408)
E/AndroidRuntime(11600): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3201)
E/AndroidRuntime(11600): at android.view.View.updateDisplayListIfDirty(View.java:14192)
E/AndroidRuntime(11600): at android.view.View.getDisplayList(View.java:14219)
E/AndroidRuntime(11600): at android.view.View.draw(View.java:14989)
E/AndroidRuntime(11600): at android.view.ViewGroup.drawChild(ViewGroup.java:3408)
E/AndroidRuntime(11600): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3201)
E/AndroidRuntime(11600): at android.view.View.draw(View.java:15264)
E/AndroidRuntime(11600): at android.widget.FrameLayout.draw(FrameLayout.java:598)
E/AndroidRuntime(11600): at android.widget.ScrollView.draw(ScrollView.java:1689)
E/AndroidRuntime(11600): at android.view.View.updateDisplayListIfDirty(View.java:14197)
2 分析过程
关键日志如下,很明显这里提示Resource ID是#0x7f08010a,
android.content.res.Resources$NotFoundException: Resource ID #0x7f08010a
接下来我们去资源文件去找,我们发现是et_search_cursor这个控件ID,我们再找到具体布局,再看它的调用,很明显,这里
这里发现布局在drawable-v24下面,将图片资源放到drawable-v24里面,导致7.0以下不能找到图片
上面是我改正了,所以才有2个显示。
3 解决办法
在安卓项目drawable目录下面再新建一个一样的et_search_cursor布局就行