我有两个R生成的类。我该如何解决?

时间:2011-09-22 03:27:19

标签: android eclipse

我最初的应用程序都在一个项目中。我决定重新安排一些事情,所以我可以有多个项目引用相同的代码,所以我将一个包移动到普通的java库,其他一些移动到一个安卓库。

主app最初有两个包;

com.stuff           // standard java stuff
com.stuff.android   // android specific stuff

当我重新安排时,我将所有com.stuff包移动到普通java项目和一些com.stuff.android类到一个android库。主app现在引用了两者。

现在我的主应用程序正在生成两个R类!一个在com.stuff中,另一个在com.stuff.android中。 android库在com.stuff.android中有自己的R. Android库或应用程序都不再具有com.stuff中的类。只有普通的java包有com.stuff包类。

在大多数情况下,两个R类似乎都有相同的东西。但有时会发生奇怪的事情,我需要清理所有项目并重建以使其再次工作,而且这很烦人。

为什么这样做?我该如何解决?

我也在使用subclipse,所以也许它会以某种方式干扰所有的重构

1 个答案:

答案 0 :(得分:2)

啊哈!我自己找到了...如何明确表达这个问题似乎可以激发新观点。

  1. 应用程序的清单仍然包含package =“com.stuff”而不是com.stuff.android
  2. 某些布局仍然具有对com.stuff的命名空间引用。
  3. 解决这两个问题解决了这个问题。

    修改然后我想到了这一点:Changing the package name of an upgraded Android application

    糟糕....所以看了我的android库,它在清单中使用了com.stuff.android ...所以我猜应用程序试图同时使用它们?将所有内容更改回com.stuff,现在我在com.stuff中有一个R.呼!