2013-09-23 78 views
1

的gradle這個文檔(以及許多SO資源我看到),使用它表明:Android的搖籃:創建庫項目,並在項目

「多項目設置通常由具有所有項目工作作爲給定根項目的子文件夾 「。

在我的情況,我有以下文件夾結構:

AndroidDev /* this is my root dir where I keep all my projects and libraries */ 
    | 
    |- MyProject1 
    |  |- MyProject1Module 
    | 
    |- MyProject2 
    |  |- MyProject2Module 
    | 
    |- MyLibrary 
     |- MyLibraryModule 

現在,我想用MyLibraryModule並將其添加爲一個依賴於MyProject1以及MyProject2。我想在不同的Android Studio中打開窗口MyProject1和MyProject2並能夠與庫相關編譯它們。他們沒有共同之處。

我怎樣才能做到這一點。我無法找到一個很好的資源來幫助我理解這一點。

編輯:要清楚,我想新的gradle構建系統使用。所以任何關於導入模塊和配置模塊依賴關係的指針都會很有幫助。謝謝。

回答

0

如果我正確理解你的問題,那麼你需要做的唯一事情是:

在Eclipse中選擇您MyLibraryModule項目 - >右鍵 - >屬性 - > Android的 在這裏你會看到一個複選框「是圖書館「,啓用並應用。

現在在工作空間1與MyProject1進口MyLibraryModule爲現有的Android應用程序。右鍵單擊MyProject1 - >屬性 - > Android - >添加。在現在打開的對話框中,您應該看到MyLibraryModule。添加它,應用並確定。

完全相同的過程進行了Workspace2與MyProject2 ...

這有效地做同樣的,如果你加入廣口瓶中,libs文件夾,只是現在你可以改變MyLibraryModule的代碼,而不必出口等。而這兩個項目住在彼此的undependent而是依賴於MyLibraryModule。

+0

我知道的IntelliJ項目結構和你說的好像是正確的。我的問題是關於在新的gradle構建系統中使用它。在build.gradle文件等配置依賴關係... – advantej

+0

哦,沒錯,錯過了。我沒有使用Gradle的經驗(雖然聲音很整潔)。谷歌搜索導致我http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup,據我所知,常規Android庫(MyLibraryModule as在我的答案中定義)也應該爲此目的而工作。 – cYrixmorten

0

我不使用Android Studio,也沒有做過任何Android開發,但這似乎只是一個需要Gradle知識的問題,所以我會放手一下。

首先,看看這個:Having difficulty setting up Gradle multiproject build for existing repository layout從我剛纔問一個類似的問題開始。 Peter Niederwieser的回答糾正了我關於Gradle多項目支持的一系列誤解。

你需要一個settings.gradle在結構,根目錄而你的情況看起來可能是這樣的:

include 'MyProject1', 'MyProject2', 'MyLibrary' 

熊在搖籃使用此文件來配置設置對象的頭腦。你可以看到什麼是可能通過查看DSL這個位置:http://www.gradle.org/docs/current/dsl/org.gradle.api.initialization.Settings.html

現在,你可以聲明一個依賴於在MyLibrary在其他各個項目是這樣的:

dependencies { 
    compile(
     ':MyLibrary' 
    ) 
} 

我希望這回答了你的問題如果我誤解了,請隨時張貼。

+0

這幾乎是正確的,但依賴關係實際上應該是:compile':MyLibrary:MyLibraryModule' – Krylez