新的構建工具!Gradle的使用教程

zhuo.zhangzh 8年前發布 | 77K 次閱讀 Gradle 安卓開發 項目構建

來自: http://xunhou.me/gradle-1/

Gradle

Gradle是以Groovy語言為基礎,面向java應用為住。基于DSL(領域特定語言)語法的自動怕你規劃構建工具。

gradle對多工程的構建支持很出色,工程依賴是gradle的第一公民。

gradle支持局部構建。

支持多方式以來管理:包括從maven遠程倉庫、nexus私服、ivy倉庫以及本地文件系統的jars或者dirs

gradle是第一個構建繼承工具,與ant、maven、ivy有良好的相關性

輕松遷移:gradle適用于任何結構的工程,你可以在同一個開發平臺平行構建原工程和gradle工程。通常要求寫相關測試,以保證開發的插件的相似醒呢,這種遷移可以減少破壞性,盡可能的可靠。這也是構建的最佳實踐

gradle的整體設計是以作為一種語言為導向的,而非成為一個閹割死板的框架。

</div>

Gradle構建Android程序

如果你是初次使用AndroidStudio,那么安裝完成后將會讓你選擇配置離線的gradle文件目錄還是重新從官網上下載gradle,在你國這網絡的情況下,我們可以采用跳墻的方法來下載。(在AndroidStudio1.02之后就可以選擇離線的gradle了,不需要每次第一次構建Android項目的時候都得下載gradle)。

各個版本gradle的中轉下載

下載好之后配置gradle環境變量,命令行輸入gradle -v,查看成功配置與否。

在Gradle構建的Android項目中,與gradle相關的目錄有以下幾個:

  • build.gradle 這個文件是app文件gradle配置文件,也可以算是整個項目最主要的配置文件,下面是內容:

//聲明是Android程序 apply plugin: 'com.android.application'

android { //編譯SDK的版本 compileSdkVersion 21 build tools的版本 buildToolsVersion "21.1.2"

defaultConfig {
    //包名
    applicationId "com.bqs.wetime.fruits"
    minSdkVersion 14
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        //設置混淆
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}

// 依賴聲明 dependencies { //gradle可以直接拷貝jar到libs目錄下,亦可用maven的方式來導入 compile 'com.squareup.retrofit:retrofit:1.9.0' compile 'com.jakewharton:butterknife:6.1.0' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3' compile 'com.squareup:otto:+' compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.android.support:recyclerview-v7:21.0.3' compile 'com.squareup.okhttp:okhttp:2.2.0' compile 'com.google.code.gson:gson:2.3.1+' compile 'de.greenrobot:java-common:2.0.0' compile 'de.greenrobot:greendao:1.3.7' compile 'com.github.traex.rippleeffect:library:1.2.3' compile files('libs/rebound-0.3.7.jar') compile files('libs/co.snappydb.jar') compile files('libs/kryo-2.23-SNAPSHOT.jar') compile project(':CoconutUtil') compile 'com.android.support:recyclerview-v7:21.0.3' }</pre>

  • gradle文件夾
  • settings.gradle
  • </ul>

    依賴聲明

    compile [group]:[name]:[version]

    這是一種快捷的依賴方式

    compile files

    對本地文件夾下的jar進行依賴

    compile project

    如果在這個項目中存在其他的module,就可以用這種方法。相當于eclipse中選中isLibrary選項框。

    build.gradle

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
    

    }

    allprojects { repositories { jcenter() } }</pre>

    jcenter是Gradle1.7之后采用的一種新的中央遠程倉庫,目前Github經常看到很多開源庫將其上傳至Jcenter倉庫中,使用起來非常方便而且易于維護,尤其是在Android Sudio中,只需要幾行代碼的配置就可以上傳上去。

    Gradle常用命令

    • ./gradlew -v 版本號

    • ./gradlew clean 清除9GAG/app目錄下的build文件夾

    • ./gradlew build 檢查依賴并編譯打包

    這里注意的是 ./gradlew build 命令把debug、release環境的包都打出來,如果正式發布只需要打Release的包,該怎么辦呢,下面介紹一個很有用的命令 assemble, 如

    • ./gradlew assembleDebug 編譯并打Debug包

    • ./gradlew assembleRelease 編譯并打Release的包

    除此之外,assemble還可以和productFlavors結合使用,具體在下一篇多渠道打包進一步解釋。

    • ./gradlew installRelease Release模式打包并安裝

    • ./gradlew uninstallRelease 卸載Release模式包

    本文參考于:

    Android Studio系列教程五—Gradle命令詳解與導入第三方包

    Gradle介紹引用自百度百科

    </div>

 本文由用戶 zhuo.zhangzh 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!