2012-05-25 73 views
1

首先,我知道針對這個主題有幾個問題,但他們都沒有幫助我。引用外部項目庫源代碼樹


我發展我與Android/ADT插件的第一個Android項目,我想使用this library。我在SO和官方文檔中搜索瞭如何完成此操作,並且我找到了how to reference a library project

我運行以下命令:

$ android update project --target 8 /path/to/workspace/myproject /path/to/workspace/numberpicker/lib 
Resolved location of library project to: /path/to/workspace/numberpicker/lib 
Updated project.properties 
Updated local.properties 
No project name specified, using Activity name 'SplashActivity'. 
If you wish to change it, edit the first line of build.xml. 
Added file /path/to/workspace/myproject/build.xml 
Updated file /path/to/workspace/myproject/proguard-project.txt 

顯然,這一步工作正常。但是當我嘗試在xml佈局中引用com.michaelnovakjr.numberpicker.NumberPicker時,Eclipse抱怨它找不到此類。

後來我發現this answer和改變了我的project.properties

# Before 
android.library.reference.1=/path/to/workspace/numberpicker/lib 
# After 
android.library.reference.1=../numberpicker/lib 

但並沒有解決我的問題。

也許有必要提到這個庫不是Eclipse項目,所以我不能在Eclipse中打開它。

+0

如果你還沒有在Eclipse中導入numberpicker作爲Android項目嗎?首先將其導入到Eclipse中:「文件 - >新建 - >其他... - > Android - > Android項目」,在嚮導窗口中選中「Create projet from existing source」並選擇位置。然後嘗試你想要的任何東西。 – yorkw

+0

它的工作!添加這個作爲答案,我可以接受它。謝謝! – borges

回答

1

圖書館項目必須存在於同一個工作區爲了讓Eclipse中正確地構建依賴項目,請參閱開發人員指南Managing Project - Library Projects瞭解更多詳情:

然而,庫項目從一個標準的Android應用程序項目的不同之處您無法直接將其編譯爲自己的.apk文件,並在Android設備上運行它。同樣,不能像導出真正的庫一樣將庫項目導出爲獨立的JAR文件。相反,您必須通過引用相關應用程序中的庫並構建該應用程序來間接編譯庫。

當您構建依賴庫項目的應用程序時,SDK工具會將庫編譯爲臨時JAR文件並在主項目中使用它,然後使用結果生成.apk。在應用程序和庫中都定義資源ID的情況下,這些工具可確保在應用程序中聲明的資源具有優先權,並且庫項目中的資源不會編譯到應用程序.apk中。這使您的應用程序能夠靈活地使用或重新定義在任何庫中定義的任何資源行爲或值。

爲了使用numberpicker庫,您需要輸入它作爲一個的Android項目在Eclipse中,選擇File -> New -> Other ... -> Android -> Android project,在嚮導窗口中,檢查Create projet from existing source和選擇的位置。

相關問題