2014-02-06 103 views
5

我從Eclipse中移動到Android工作室,這是我在Eclipse中設置: 我有幾個Android應用項目,這取決於幾個庫項目(某些共享)都在一個工作區。在Android studio中,我首先開始爲每個應用程序創建一個項目,但很快意識到我必須將庫項目作爲每個使用它們的項目中的模塊。這意味着複製圖書館項目並將其包括在每個應用程序中,這是高度冗餘的,並且需要維護多個庫的副本。的Android工作室外部庫項目

所以我切換到有我所有的應用程序和庫在同一個項目中的模塊。這適用於構建,但會產生其他問題,例如版本控制問題,因爲每個模塊都位於單獨的版本控制存儲庫中。

什麼是有這個設置中,乾淨的方式?真正的問題是,我可以在AS中分開項目來共享相同的外部庫項目嗎?

+0

在gradle這個構建系統,你不需要下載該項目內所有的庫模塊。您可以使用Maven依賴項將它們包含在您的項目中進行編譯。 – pyus13

回答

3

使用的是Android 0.5.0工作室的發佈,這個答案已經過時了,但我會離開它下面的參考。欲瞭解更多了最新的說明,請參閱How to share a single library source across multiple projects


在Android Studio中,這是很難有共享庫的項目,因爲目前它是在一個項目中的所有模塊都必須生活在同根文件夾下的限制;當你試圖通過創建一個包含所有東西的大項目來解決你的問題時,你似乎發現了這一點。我們正在努力解除這個限制。

最好的答案,現在是讓庫模塊單獨的項目,並讓他們發佈到本地倉庫,並有相關的項目,將它們拉從回購。這意味着不幸的是,你不能在單個項目的上下文中處理你的app +庫模塊源。更大的缺點是這些庫模塊的源代碼附件無法正常工作,所以如果您嘗試調試應用程序,則難以進入庫中的代碼。

我知道這是不是一個很大的答案,但在這個階段的Android Studio的進化,它可能是我們能做到的最好。我們知道你是一個相當常見的用例,我們需要支持它。

+0

感謝您的回答。我猜想Maven工件可能會工作,但我會失去同時訪問相關項目的便利。在使用我的安裝程序將相關「項目」作爲模塊在同一個項目中使用了幾天之後,我發現這樣做足以滿足當前的需求,除版本控制問題外,我還沒有遇到任何重大障礙。在這種情況下,Eclipse工作區= AS項目和Eclipse項目= AS模塊。 – Inn0vative1

+0

我們正在等待你們解決這個問題。我們正在嘗試使用git-submodule來克服它。關於git操作並不是非常簡單。 – SXC

+0

嗨斯科特,你們最終會允許一個應用程序項目引用共享庫項目在應用程序項目的根文件夾外?你有ETA嗎? – SXC