2013-11-27 95 views
2

標題可能看起來很混亂(雖然準確)。讓我用更多的話來解釋它:如何將android庫項目導出爲包含自己引用的庫項目jar的jar文件

我有一個android庫項目,可以稱之爲ProjectA。我也有第二個Android庫項目,讓我們稱之爲ProjectB。 ProjectB和ProjectA位於同一個工作區中,ProjectB在其庫列表(項目屬性)中引用ProjectA。所以ProjectB正在使用ProjectA。

現在我想要完成的是獲得一個簡單的jar庫 - ProjectB,並將此jar作爲外部庫包含在我的另一個android項目(android應用程序)中。

但是,當我編譯ProjectB時,jar大小太小(ProjectA的jar超過300KB,但ProjectB的jar只有14KB),所以我確定它不包含jar文件中的ProjectA我在bin文件夾(ProjectA的)中找到。要做一個快速的數學計算,ProjectB的jar應該大300KB。

所以要重複一遍,我想擁有庫中所需的所有東西,打包在一個jar文件(ProjectB的jar文件)中,這樣當我將它導入Android應用程序的庫時,我可以使用它。

從expierienced Android開發任何幫助?

+0

[如何結合兩個Jar文件]的可能重複(http://stackoverflow.com/questions/5080220/how-to-combine-two-jar-files)和http://stackoverflow.com/questions/ 882204 /合併多個瓶子在一個單一的jar和http://stackoverflow.com/questions/14350150/how-to-combine-multiple-jars-into-one和無數更多。但請注意,如果該項目不包含資源,則只能創建Android庫項目的簡單JAR。 – CommonsWare

+0

從我看到的,你提到的所有這些話題都涉及到非android項目。據我所知,這些都是特別處理的,因此我需要一個完全適用於Android應用程序項目和Android庫項目相關的解決方案。 我已經嘗試了其他人提到的幾個解決方案(在java相關項目中),但在我上面解釋的場景中不適用。 – Lucas

+1

由於您是從Android庫項目手動創建JAR,因此它們應該像其他任何JAR一樣進行合併。除了通過手動創建JAR之外,沒有其他方式可以以可靠的方式從Android庫項目中獲取JAR。而且,正如我之前提到的,如果您試圖將資源中的Android庫項目轉換爲JAR,那是不可能的,更不用說您的合併目標了。 – CommonsWare

回答

-1

您需要確保在導出路徑中導出庫。對於Eclipse,您可以右鍵單擊該項目,選擇「構建路徑」>「配置構建路徑」,轉到右側的「訂購和導出」選項卡,並確保您的庫已在列表中選中(如果您的Project有多個依賴關係,它可能包含在幾個庫組之一中)。

+0

我假設你的意思是在我的「ProjectB」中,從上面的例子中做到這一點?如果是這樣,我沒有在那裏列出ProjectA,因爲它被項目引用,而不是外部jar(請記住)。所以我的「ProjectA的」jar被列在「Android Dependencies」下,並且確實被導出,但仍然沒有在ProjectB的jar中包含ProjectA的jar。 – Lucas

0

如果您正在尋找最快的方法來完成此操作,請在Eclipse中突出顯示您的庫項目,然後轉至File> Export,然後在Java下選擇JAR。從那裏,您可以選擇多個選項,包括哪些其他被引用的項目應作爲JAR的一部分導出。

Commonsware是正確的,它只是一個JAR,沒有魔法。如果您需要構建系統選項,請考慮使用Ant或Gradle爲您打包JAR。不過,請嘗試使用bin文件夾中的內容,因爲這不適合您使用。

相關問題