2012-01-20 126 views
12

我不是Android的新开发者。我有一个市场上的应用程序。但是,有时我得到报告奇怪的例外满足以下条件:安卓资源未找到异常

java.io.FileNotFoundException: res/drawable-mdpi/background.png 

android.content.res.Resources$NotFoundException: File res/drawable-mdpi/background.png from drawable resource ID #0x7f02001f 

这是通过各种手段不真实的,否则我不会;吨编译或运行程序自己。我也确信资源在那里。这只是我报道的一个例外。其他资源主要布局也有同样的例外。

所以我的问题是这将如何发生?是否因为Android系统安装失败,我的应用程序?我几乎肯定这一定是这种情况,因为我有许多用户毫无问题地使用它。

请帮忙。

+0

有时我们也会发生一些布局资源。虽然这种情况对我们来说并不重要,但它仍然是一个神秘的bug。感谢您的询问。 – Snicolas

+2

您是否在所有屏幕尺寸和密度上测试了您的应用程序?也许问题可能是在某些屏幕上,在相应的目录中找不到可绘图 – Cata

+1

@Cata您不需要为每个密度制作/填充可绘制的文件夹。例如,如果您只提供xdpi drawables,则mdpi屏幕会缩小drawable以正确绘制。 – Jonba

回答

3

可以有几种可能的原因:

  1. 移动应用程序到SD卡。

  2. 从市场下载或安装APK(文件可能损坏)时出现了一些问题。

  3. 用户获得APK与(通过蓝牙例如,从其他用户)从其他来源损坏的文件

  4. 一些系统漏洞(从软件,布罗肯硬件)

,无论如何你对这个问题无能为力。

1

难道是应用程序被推送到SD卡,而SD上的可绘制物发生了什么。我发现类似的布局问题相当可绘,这是因为应用程序被推到SD。

+0

这真的是一个可能的答案,但不幸的是我不能测试这个,并说如果它是肯定的,因为它发生在罕见案例。谢谢。 – Norbert

1

也许你已经包含了某些参考Android SDK内容的代码。

就我而言,我面临着类似的问题,当我从我的XML删除线

android:background="?android:attr/actionBarItemBackground" 

,一切又正常工作。