Android FileNotFoundException res/drawable-hdpi/scrollbar_handle_vertical.9.png

android, android-layout

Solution

It seems likely that this resource is missing on one (or more devices). i.e. the build of Android on that device is missing this file. It would be interesting to see whether the issue is affecting very specific devices.

I expect the solution will be to use a drawable in your app itself (rather than rely on one in android) and make sure your one is referenced, not the one that is missing on certain devices.

You can use tools like BugSense to track issues like this to collect data on affected devices & platform versions. This is useful if you're unable to get this information from the Google Play Store reporting.

Problem

The most significant user-reported crash for my app right now is below. It seems like the system cannot find the file res/drawable-hdpi/scrollbar_handle_vertical.9.png The below example indicates the problem happens when drawing a webview, but it also happens for other activities in my app, all of which work fine most of the time. I would think this is an android resource that I wouldn't need to worry about. But, just to test, I took the file from the sdk and placed it into my project drawable-hdpi folder for the latest release of my app. However, I still observer the crash reports in google play. Any thoughts as to what could be happening? I'm also not using progaurd right now, so no way that is stripping out files it shouldn't. ``` android.view.InflateException: Binary XML file line #26: Error inflating class com.android.internal.app.AlertController$RecycleListView at android.view.LayoutInflater.createView(LayoutInflater.java:513) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565) at android.view.LayoutInflater.inflate(LayoutInflater.java:385) at android.view.LayoutInflater.inflate(LayoutInflater.java:320) at android.view.LayoutInflater.inflate(LayoutInflater.java:276) at android.webkit.WebView$InvokeListBox.run(WebView.java:8308) at android.os.Handler.handleCallback(Handler.java:587) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.reflect.InvocationTargetException at com.android.internal.app.AlertController$RecycleListView.<init>(AlertController.java:703) at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:446) at android.view.LayoutInflater.createView(LayoutInflater.java:500) ... 14 more Caused by: android.content.res.Resources$NotFoundException: File res/drawable-hdpi/scrollbar_handle_vertical.9.png from drawable resource ID #0x0 at android.content.res.Resources.loadDrawable(Resources.java:1714) at android.content.res.TypedArray.getDrawable(TypedArray.java:601) at android.widget.AbsListView.<init>(AbsListView.java:630) at android.widget.ListView.<init>(ListView.java:230) at android.widget.ListView.<init>(ListView.java:226) ... 18 more Caused by: java.io.FileNotFoundException: res/drawable-hdpi/scrollbar_handle_vertical.9.png at android.content.res.AssetManager.openNonAssetNative(Native Method) at android.content.res.AssetManager.openNonAsset(AssetManager.java:405) at android.content.res.Resources.loadDrawable(Resources.java:1706) ... 22 more ```

Original source