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

时间:2012-10-01 17:14:10

标签: android drawable

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

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

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

中的第一个
public static final class drawable {...}

在自动生成的文件R.java

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

public static final int bt_a_1=0x7f020000;

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

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

修改

这是自HoneyComb发布以来修复的Android问题Ia971bb242ceac5e8f9346094009a10f356399ab9

由于低级资源缓存冲突错误而导致问题发生。

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

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

1 个答案:

答案 0 :(得分:4)

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

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