2011-12-03 36 views
0

正如我所瞭解的,只要該庫包含java代碼,我就可以爲Android創建經典的.jar庫。一旦我需要將資源(xml文件等)包含到庫中,我需要創建所謂的Android庫Android平臺上的Android庫和Java經典庫(.jar)

的Android庫就像正常的Android應用程序的項目,但設置爲true標誌android.library(在default.properties文件)。

要在我的項目中使用Android庫首先我需要它的java源碼,然後我需要在Eclipse中加載庫項目,然後我必須從我的應用程序項目中添加對庫項目的引用在Eclipse菜單中:Properties>Android>Libraries。此步驟將android.library.reference.x添加到我的應用程序default.properties文件中。這樣做庫java文件在編譯過程中被編譯併合併到最終的應用程序dex文件中。

  • 我的描述是否正確?
  • 我真的需要分發資源來讓別人使用我的Android庫

如果我使用經典的jar庫(可製成只有當我用裏面只有Java代碼),它是足夠既補充參考圖書館在我的應用程序.jar文件。這是通過指定項目的構建路徑來完成的。稍後在構建過程中,jar文件會與我的應用程序類文件合併,以創建最終的.dex文件。

請評論 非常感謝

斯登

+0

自r14以來,這已得到改進,他們表示他們目前正在研究這一問題,並最終將庫作爲單個jar文件分發。結帳[這裏](http://android-developers.blogspot.com/2011/10/changes-to-library-projects-in-android.html) – yorkw

回答

2

是我的描述是否正確?

或多或少。

我真的需要分發源代碼以允許其他人使用我的Android庫嗎?

有這方面的解決方法,但目前的預期是您將分發源代碼。避免它的唯一方法是不直接從代碼中引用自己的資源(例如,R.layout.foo),而是將資源ID作爲參數傳遞給方法或執行資源ID的運行時查找(例如,getResources().getIdentifier())。

未來版本的Android構建工具將支持僅二進制Android庫項目。我相信這是目前針對r17發佈的目標,預計2012年初發布。