3

我有一个运行良好的应用程序,然后我发布了一个更新,现在突然有些用户无法膨胀主视图..它在第 28 行的 XML 膨胀中死亡,嵌套异常

Resources$NotFoundException: 来自 Drawable 资源 ID #0X10200004 的文件

在引用 @drawable/pl 的 Binary XML inflate 的第 28 行

pl.bmp 文件在 res/drawable 目录中并且没有损坏,所以资源存在。

我能看到的唯一看起来很奇怪的是生成的 R.java 文件引用了这个 id 为 #0X7F0200009 的可绘制对象,并且没有文件引用 id 以 #0X1.... 开头的文件.. 所以我我不确定这些特定用户如何或为什么会将该 ID 作为可绘制对象的参考。R.Java 可绘制类中有一个#0X7f0200004,但它是一个完全不同的图形。

这肯定发生在一些已经升级的人身上,我怀疑一些人已经购买了新的。我无法在我可以访问的任何设备或模拟器上复制这种行为,但对于某些人来说显然正在发生这种情况。

有没有人有任何想法?升级是否没有选择正确的 R.java 文件?这怎么可能呢?起初我认为这可能是文件名冲突,因为早期版本将 p 作为 bmp 并在此开始的版本中将其更改为 png,但我确保在构建之前删除 pl.bmp,随后将其重命名为 pl,因此,即使旧的 p 文件 .bmp 和 .png 都以某种方式在设备上,它也不可能发生冲突,但这似乎不是问题。

任何帮助将不胜感激。

提前致谢。

4

1 回答 1

1

好吧,这令人惊讶地似乎与绑定到 android.R.id.empty 的 OS Drawable 引用有关。

不要问我为什么这工作正常,然后在我更改 XML 定义后突然开始对某些用户不起作用,但我已经删除了对此的引用,现在使用我自己的透明图形代替,一切似乎都工作正常.

于 2011-09-27T19:20:36.570 回答