2011-09-22 93 views
1

我最初有我的應用程序都在一個項目。我決定重新安排一些東西,以便讓多個項目引用相同的代碼,所以我將一個包移到了一個普通的java庫中,還有一些移到了一個android庫中。我有兩個R生成的類。我該如何解決?

主應用程序原本有兩個包;

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

當我重新安排,我感動了所有com.stuff包到普通的Java項目和一些com.stuff.android類到Android庫。主要的應用程序現在引用這兩個

現在我的主應用程序正在生成兩個R類!一個在com.stuff中,一個在com.stuff.android中。 android庫在com.stuff.android中有它自己的R. Android庫或應用程序不再有com.stuff中的類。只有普通的java包具有com.stuff包類。

在大多數情況下,兩個R類似乎都有相同的東西。但有時會發生奇怪的事情,我需要清理所有項目並重建以重新運行,這只是令人討厭的。

它爲什麼這樣做?我如何解決它?

我也使用Subclipse的,所以也許它與所有的重構

+0

我用了兩個,它似乎很好。運行就像一個魅力。只是這個小小的煩惱。普通的java庫將與服務器端java/jsp的東西共享。遵循http://stackoverflow.com/questions/4706473/how-should-i-structure-my-project-to-share-classes-between-an-android-client-appl的建議 – Jay

回答

2

啊哈干擾莫名其妙!發現它自己...如何闡明這個問題似乎激發了新的想法在哪裏看。

  1. 的應用程序的清單仍然有包=「com.stuff」代替com.stuff.android
  2. 有些版式仍然有一個命名空間引用到com.stuff。

修復這兩個問題解決了這個問題。

編輯:然後我想到了這一點:Changing the package name of an upgraded Android application

哎呀....所以看着我的Android庫,並且它是使用com.stuff.android在清單...所以我猜該應用程序試圖使用兩者?把所有東西都改回com.stuff,現在我在com.stuff中有一個R。唷!