资源$ drawFable的NotFoundException异常 - 但它确实存在?

时间:2011-10-05 18:49:46

标签: android

我开始从市场崩溃报告界面看到一组奇怪的堆栈跟踪。我被告知不存在可绘制的资源。有问题的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等

由于

2 个答案:

答案 0 :(得分:2)

尝试将foo.png放在其他可绘制文件夹中,即mdpi,xhdpi和xxhdpi。可能会有所帮助。

答案 1 :(得分:0)

您可以尝试以下方法:

1-如果您正在使用Eclipse进行开发,请从调试菜单中尝试“Project Clean”。如果您在Intellij,请尝试“构建”项目。

2-删除并读取foo.png资源。删除后,尝试重新生成R然后读取。

3-将foo.png重命名为其他内容并查看其工作原理。

4-尝试删除R文件,因为它会自动生成并可能解决您的问题

据我所知,问题在于您项目的R文件。