2016-02-15 37 views
1

我總是看到當你在gradle中添加諸如compile 'joda-time:joda-time:2.9.2'這樣的行時,比如在Android Studio中,它會自動獲取庫並在我的項目中使用它。這是如何發生的? Gradle如何找到庫並獲取並鏈接它?Gradle如何獲取庫

回答

2

Gradle允許您告訴它項目的依賴關係是什麼,以便它可以負責查找這些依賴關係,並使它們在構建中可用。
的依賴可能需要從遠程Maven或常春藤庫下載,或在本地目錄中的位置,或可能需要在同一個多項目的另一個項目建建

你可以閱讀更多信息在official doc

全部由您要下載的依賴,你必須聲明庫首先:

Somenthing像:

repositories { 
    mavenCentral() 
    jcenter() 
    maven { 
     url "http://repo.mycompany.com/maven2" 
    } 
} 

存儲庫可以是公共或私有的,你可以定義不止1回購。這是重要的順序。

然後你可以聲明你的依賴:

dependencies{ 
    //.. 
    compile 'joda-time:joda-time:2.9.2'  
} 

每個工件具有POM文件其中介紹了一些屬性(例如名稱和版本)和嵌套的依賴。
Gradle使用這個pom文件降低了工件和嵌套的依賴關係。

您可以在jcenter回購中找到用於joda-time庫的files and the pom file

+0

就我而言,這個'jcenter()'完成了魔術。我終於弄明白了。感謝@ gabriele-mariotti。該字符串「joda-time:joda-time:2.9.2」對應於存在廣告牌的「http:// jcenter.bintray.com/joda-time/joda-time/2.9.2 /' – padfoot

+0

@padfoot Mark如果它解決了這個問題的答案,它可以幫助其他用戶。 –

相關問題