奇怪的R.java问题导致drawable资源无法正确加载

Sil*_*orm 5 android drawable

我有一些自定义drawable但不幸的是当我尝试在设备上运行应用程序时,无法加载drawable.

  • 我试图清理工作区......同样的问题.
  • 我试图删除并重新导入清理.metadata文件夹的项目......同样的问题.
  • 我试图删除autogen文件R.java ......没什么.
  • 我试图改变使用的图像......没什么.
  • 我更改了名称... Ops,这次问题的drawable开始工作但是同样的问题发生在另一个图像上.

通过各种测试,我注意到未加载的图像始终是第一个

public static final class drawable {...}
Run Code Online (Sandbox Code Playgroud)

在自动生成的文件中 R.java

详细地说,资源图像的地址为0x7f020000:

public static final int bt_a_1=0x7f020000;
Run Code Online (Sandbox Code Playgroud)

这些地址按字母顺序分配, 所以我解决了简单地添加另一个名为a1.png未在项目中使用的图像.

通过这种解决方法一切正常,但我不知道这个荒谬问题的原因是什么.

编辑

自从HoneyComb发布以来,这是一个已修复的Android问题Ia971bb242ceac5e8f9346094009a10f356399ab9

由于低级资源缓存冲突错误,会发生此问题.

更多信息:https: //android-review.googlesource.com/#/c/15815/

所有使用早于HoneyComb的操作系统的设备都会出现此问题...为了避免这些设备中的错误,请使用我所描述的相同策略.

tre*_*ter 4

这是一个已知问题,我想它已经在 Honeycomb 中解决了。

http://code.google.com/p/android/issues/detail?id=20283