2012-04-24 21 views
8

我的应用程序现在最重要的用户报告的崩溃是在下面。看起来像系统找不到文件res/drawable-hdpi/scrollbar_handle_vertical.9.png 下面的例子表明绘制webview时会发生问题,但它也发生在我的应用程序中的其他活动,所有这些都工作正常的时间。Android FileNotFoundException res/drawable-hdpi/scrollbar_handle_vertical.9.png

我会认为这是一个Android资源,我不需要担心。但是,为了测试,我从sdk中取出了该文件,并将其放到了我的项目drawable-hdpi文件夹中,以供我的应用程序的最新版本使用。不过,我仍然在谷歌播放观察崩溃报告。

有关可能发生什么的任何想法?

我也没有使用progaurd现在,所以没有办法剥离出它不应该的文件。

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 
+0

该文件来自[Android框架](https://github.com/android/platform_frameworks_base/blob/master/core/res/res/drawable-hdpi/scrollbar_handle_vertical.9.png )。也许你可以创建一个自定义主题,并包含一个' @ android:drawable/scrollbar_handle_vertical'的替代品来修复这个错误。 – zapl 2012-04-24 22:40:51

+4

你好。对此错误的任何更新可能没有发布?我刚开始接受这个相同的问题,不知道为什么。 – 2012-08-28 04:25:46

回答

2

在一个(或多个设备)上似乎可能缺少此资源。即在该设备上构建的Android缺少该文件。看看问题是否影响非常具体的设备会很有趣。

我期望解决方案将在您的应用程序本身中使用drawable(而不是依赖android中的一个),并确保引用您的应用程序,而不是某些设备上缺少的应用程序。

您可以使用BugSense之类的工具来追踪此类问题,以便在受影响的设备上收集数据&平台版本。如果您无法从Google Play商店报告中获取此信息,这很有用。

+3

我只在使用T-Mobile网络运行Android 2.2.1的sgh-t959v设备上看到此错误。 – jolo 2012-11-26 14:21:00

+0

我们也看到了同样的崩溃,在该设备上,它报告为运行2.2.1的SGH T959V。 – 2014-01-08 08:29:44

+0

我在SDK中的Froyo仿真器上看到了同样的问题。 – fattire 2014-07-14 09:01:00

0

再发生一次这种情况 - 当您使用后来android版本中引入的属性/资源时。对索引有一些复杂的映射属性,当appt生成R.java时,它可能会重叠一些旧的ID并发生这种非常奇怪的错误。

对于我来说,在视图设置
android:foreground="?android:attr/selectableItemBackground"

selectableItemBackground在API 11中引入了同样的错误出现,但在仿真器推出与API 7

因此,检查你的布局,使用一些资源比你的minSdkVersion晚推出。它可以检查在R.java reference

相关问题