2011-10-05 52 views
6

我开始从市场崩溃报告界面看到一组奇怪的堆栈跟踪。我被告知可绘制资源不存在。存在问题的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” 同时存在于我的 “绘制” 和 “绘制 - 华电国际” 的文件夹。我很久没有触及这些可绘制的任何一个 - 不知道为什么这个错误开始出现?通过放置在foo.png其他可绘制文件夹即MDPI,xhdpi和xxhdpi也发生在一个范围的装置,机器人,纳克斯问鼎的等

由于

+0

也许你应该清理你的项目来重新生成R.java文件?这可能是问题。 – Egor

+0

嗨,Egor,我肯定是在我上次发布前做过这个。我检查了R文件,整数值都存在。我认为android有问题。 – user291701

+0

这真的让我感到困扰。我注意到我的新编译的应用程序遇到了这些问题。我开始认为我应该使用assets文件夹编写我自己的系统。然后我可以有一个很好的层次来配合它。我也注意到Lint不正确地标记错误。 –

回答

0

你可以尝试以下方法:

1 - 如果你在Eclipse中开发,从调试菜单中尝试“清洁工程”。如果您在Intellij中,请尝试“构建”该项目。

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

3将foo.png重命名为其他内容并查看它是如何工作的。

4-尝试删除R档,因为它可以让自动生成的,可以解决你的问题

据我所知,这个问题是你的项目的R档。

相关问题