2014-12-05 19 views
0

我很困惑的東西。我正在開發一個包含兩個模塊的Android應用程序。這裏是我的項目結構依賴關係,模塊的問題。我如何正確引用這個庫?

MyProject 
    app 
     libs 
     abc.jar 
     src 
     etc... 
    importedProject 
     libs 
     src 
     etc... 
     build.gradle 
    build.gradle 

如果我右擊abc.jar,並選擇Add as Library...,一個對話框出現,要求我補充與選項appimportedProject哪個模塊。

如果我選擇importedProject,它將依賴項添加到importedProject的build.gradle文件..但它使用硬盤上文件的完整路徑。

compile files('C:/Users/my.name/workspace/MyProject/app/libs/abc.jar') 

我很困惑,爲什麼它使用一個完整的本地路徑,而不是相對的。 Android Studio甚至警告我不要這樣做,但它爲我做到了。

我已經試過這些,沒有工作:

compile files('app/libs/abc.jar') 
compile files('MyProject/app/libs/abc.jar') 

任何人都知道我在做什麼錯在這裏?謝謝

編輯

得到它使用的工作:

compile files('../app/libs/abc.jar') 

不過,我讀過,使用相對路徑是一個壞主意。有更好的解決方案嗎?

回答

1

Gradle構建文件中的路徑通常是相對於構建文件的位置。在這種情況下,您希望路徑相對於項目。

compile files("${rootProject.projectDir}/app/libs/abc.jar") 
+0

非常感謝。它似乎並沒有工作。我從'「../app/libs/abc.jar」'更改爲'「$ {rootProject.projectDir} /app/libs/abc.jar」'並且它沒有捕獲它。 – user1003916 2014-12-08 16:04:15

+0

這是一個適當的多項目構建。你能發佈你的* settings.gradle *文件的內容嗎? – 2014-12-08 16:45:47