我最初的应用程序都在一个项目中。我决定重新安排一些事情,所以我可以有多个项目引用相同的代码,所以我将一个包移动到普通的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,所以也许它会以某种方式干扰所有的重构
答案 0 :(得分:2)
啊哈!我自己找到了...如何明确表达这个问题似乎可以激发新观点。
解决这两个问题解决了这个问题。
修改然后我想到了这一点:Changing the package name of an upgraded Android application
糟糕....所以看了我的android库,它在清单中使用了com.stuff.android ...所以我猜应用程序试图同时使用它们?将所有内容更改回com.stuff,现在我在com.stuff中有一个R.呼!