2014-03-27 44 views
2

我需要在多個項目中使用外部項目(ResuableProject)作爲模塊(其中之一是ProjectOne)。我到目前爲止已經在這裏做的是:Android Studio:將外部項目設置爲模塊

添加在ProjectOne

include ':ProjectOne', ':ResuableProject' 
project(':ResuableProject').projectDir = new File(settingsDir, '../ResuableProject/module') 

中添加以下的build.gradle

dependencies { 
    compile project(':ResuableProject') 
} 

的settings.gradle以下是gradle這個同步後沒有任何錯誤,在項目資源管理器中包含模塊,但是當我使用ResuableProject中的任何類時,它給了我一個錯誤,直到我點擊類名並找到add dependency on ResuableProject的選項時才能找到類。當我選擇這個選項時,這個類是可以訪問的,並且它看起來一切正常。 但是,當我生成項目,並嘗試運行它給了我這樣的:

Error:Execution failed for task ':ProjectOne:compileDevDebugJava'. 
> Compilation failed; see the compiler error output for details. 
Error:(10, 30) error: package <packagename of ResuableProject> does not exist 

我缺少的東西還是我必須包括在ProjectOne ResuableProject的源目錄,如果是的話該怎麼辦?

還有更好的方式來跨多個應用程序使用一個共同的項目? (不是jar或maven因爲我需要包括每個項目的源代碼,並且常見項目將託管在單獨的git倉庫中)

以前我在Eclipse中使用這種方法(一個常見的庫項目)並將其包括在多個應用程序中。

UPDATE:添加文件系統結構

workspace 
----ResuableProject (Android Common stuff) 
--------.git 
--------module 
----ProjectOne (Android App One) 
--------.git 
--------ProjectOne (module) 
------------build.gradle 
--------settings.gradle 
----ProjectOne (Android App Two) 
--------.git 
--------ProjectOne (module) 
+0

ResuableProject和ProjectOne在文件系統中的位置?你能顯示文件夾的大概位置嗎? – Vladimir

+0

剛剛添加到問題中。 – adnanyousafch

+0

ResuableProject是否具有適當設置的ResuableProject的build.gradle文件? – Vladimir

回答

2

原來,你可以添加ResuableProject,但如果具有的build.gradle價值apply plugin: 'android'即項目的類型應用程序無法使用它的來源。

我改變它爲apply plugin: 'android-library'即它必須是一個庫,現在一切工作正常。

+0

我一直遇到這樣的問題,即「可重用對象」所需的外部庫不會被加載,因此構建失敗。我需要更多設置嗎? – Czechnology

相關問題