Gradle學習筆記(二)

Gradle倉庫:

gradle有三種倉庫,maven倉庫,ivy倉庫以及flat本地倉庫,各種倉庫聲明方式如下:

maven{
           url "...."
}
ivy{
           url "...."
}
flatDir{
           url "...."
}</span>

Gradle任務:

gradle的Android插件提供了四個頂級任務:

assemble   構建項目輸出
check         運行檢測和測試任務
build           運行assemble和check
clean          清理輸出任務</span>
執行任務可以通過gradlew+任務名稱的方式執,執行一個頂級任務會同時執行與其依賴的任務,比如你執行:

gradlew assemble

他會同時執行:
gradlew  assembleDebug
gradlew  assembleRelease

這時會在你項目的build/outputs/apk或者build/outputs/aar目錄生成輸出文件。

在Android Studio中可以打開右側gradle視圖查看所有任務。

常見操作:

  1. 導入本地jar包
    Android studio 導入本地jar包除了將jar包放到模塊的libs目錄中外,還要在該模塊的build.gradle文件中的dependencies節點下進行如下聲明:
    compile files('libs/xxx.jar')    //依賴libs目錄下的某個jar包
    注:大家可能注意到在build.gradle文件的dependencies節點下有這樣一句話:
    compile fileTree(dir: 'libs', include: ['*.jar'])       意思是依賴libs目錄下的所有jar包,就是說我們不用自己再寫了,初始化的時候已經寫好了。
  2. 因爲maven的中央倉庫已經有很多可用的資源了,所以用的人也很多,導入maven庫:
    就像Androidstudio初始化的時候再build.gradle文件裏已經導入過一次了:
    compile 'com.android.support:appcompat-v7:22.2.0'   //依賴appcompat庫
    我們在導入的時候,格式爲:
    compile 'groupId:artifactId:version'
  3. 依賴某個project,在Eclipse中經常遇到一個項目依賴工程下的另一個項目的情況,類似的Androidstudio也有:
    因爲我們的項目是多模塊的,假設我們的項目有兩個模塊:本身的app和module_1,但是app是依賴module_1的,這個時候我們就需要在app的build.gradle文件中dependencies節點下進行如下聲明:
    compile project(':module_1')
    再在settings.gradle文件中包含進所有的模塊:
    include ':app','module_1'
    因爲此時module_1是作爲一個庫存在的,所以在它本身的build.gradle文件中需要如下聲明:
    //聲明插件,這是一個Android庫,應該是com.android.library
    apply plugin: 'com.android.library'
    而不同於app模塊的 應用程序  的聲明:

    注意:作爲library的模塊module_1的build.gradle文件的defaultConfig中是不允許聲明applicationId的,而app模塊需要聲明這個applicationId:




    今天就到這吧,因爲開始上班了,後面更新的可能會慢點,有不正確的地方還請指正。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章