我开始在市场崩溃报告界面看到一组奇怪的堆栈跟踪。据告知,某个可绘制资源不存在。相关的XML如下:
<ImageView
android:layout_width="13dip"
android:layout_height="12dip"
android:src="@drawable/foo"
/>
引起:
java.lang.RuntimeException:
Unable to start activity ComponentInfo{com.me.app/com.me.app.MyActivity}:
android.view.InflateException: Binary XML file line #51:
Error inflating class <unknown>
...
Caused by: android.content.res.Resources$NotFoundException:
File res/drawable-hdpi/foo.png from drawable resource ID #0x7f020166
at android.content.res.Resources.loadDrawable(Resources.java:1732)
at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
at android.widget.ImageView.<init>(ImageView.java:118)
at android.widget.ImageView.<init>(ImageView.java:108)
Caused by: java.io.FileNotFoundException:
res/drawable-hdpi/foo.png
at android.content.res.AssetManager.openNonAssetNative(Native Method)
at android.content.res.AssetManager.openNonAsset(AssetManager.java:417)
at android.content.res.Resources.loadDrawable(Resources.java:1724)
现在"foo.png"同时存在于我的"drawable"和"drawable-hdpi"文件夹中。 我已经很长时间没有更改这些可绘制的内容了 - 不确定为什么会出现此错误? 这在多种设备上发生,包括Droids、Nexus Ones等。谢谢。