2013-07-02 60 views
0

今天早上我通過Android SDK Manager安裝了一堆更新,其中包括Android SDK Tools 22.0.1。到目前爲止,這似乎是災難性的。一場災難是處理圖書館。這裏是場景:如何處理引用庫項目使用的庫?

我有一個項目projFoo使用庫項目libFoo。 libFoo使用十幾個庫或項目。換句話說,libfoo的在其Java構建路徑如下: projA,projB,projC,... lib1.jar,lib2.jar,lib3.jar ...

我以前只需要添加libfoo的到projFoo的構建路徑,並且一切工作正常,直到我安裝更新。

更新之後,我一直向projFoo的構建路徑逐個添加projA,projB,lib1.jar,即使projFoo不直接使用它們。如果不這樣做,運行應用程序時會發生java.lang.NoClassDefFoundError。

我已經清理了所有項目並重新啓動了Eclipse多次。我還檢查了libFoo的Order和Export中引用的項目和庫,但添加這些引用似乎仍然是必要的。這是處理這個問題的正確方法嗎?

+1

「這是處理這個問題的正確方法嗎?」 - 沒有。您應該可以在訂單和導出標籤中查看「Android專用庫」:http://stackoverflow.com/questions/16596969/libraries-do-not-get-added-to-apk-anymore-after-upgrade -to-adt-22/16596990#16596990 – CommonsWare

+0

謝謝你的提示。是的,這是關鍵。 – Hong

回答

1

在Java Build Path的順序和導出選項卡中,確保已檢查Android專用庫和Android依賴關係。

.jar格式的任何庫都應該放在項目的libs文件夾中。沒有必要將它們添加到構建路徑。

任何作爲項目的庫都可以添加到Java Build Path項目選項卡中,或者如果它是一個Android項目,則可以將它添加到Android窗格下的庫部分。

+0

謝謝你的回答。檢查應用程序項目的Android專用庫是關鍵。我已經放棄了圖書館項目的Android私有庫,並且一切似乎都沒有問題。我希望我對這件事有一些深入的瞭解。 – Hong