android-gradle 入門

什麼是 android-gradle

android-gradle 是由 Google Tools 開發團隊正式維護的 gradle 外掛 ,是自 2013 年 5 月 16 日 Google I / O 釋出以來的官方構建工具。

通過閱讀使用 Gradle 配置構建來學習基礎知識。

主要特點

Android Gradle 外掛的主要功能包括:

概述

  1. 下載並安裝 Android Studio
  2. 開啟它並使用所有預設設定建立一個新專案

理論上,你可以直接安裝 gradle,自己構建配置檔案和目錄結構。在實踐中,沒有人這樣做。

專案結構

專案資料夾結構通常如下所示:

StackOverflow 文件

android-gradle 外掛

gradle 專案通常分為子專案或模組,每個模組包含一個專用的構建指令碼。

外掛依賴項通常在主/頂級 build.gradle 檔案中宣告:

buildscript {
    // maven repositories for dependencies
    repositories {
        jcenter()
    }
    // build script dependencies
    dependencies {
        // this is the dependency to the android build tools
        classpath 'com.android.tools.build:gradle:2.1.2'
    }
}

allprojects {
    // maven repositories for all sub-project / modules
    repositories {
        jcenter()
    }
}

在這個例子中,android-gradle 外掛版本是 2.1.2,你可以從這一行看到:

classpath 'com.android.tools.build:gradle:2.1.2'

模組

該專案分為模組,每個模組包含一個專用的 build.gradle 指令碼。settings.gradle 檔案列出了這些模組:

include ':app'

冒號:在某種程度上用作資料夾分隔符。

要使用該外掛,必須將其應用於每個模組的 build.gradle 檔案的頂部(示例中為 app)。

對於 Android 應用程式:

apply plugin: 'com.android.application'

對於 Android 庫:

apply plugin: 'com.android.library'

然後在它的 android 標籤中配置:

android {
  // gradle-android plugin configuration
}

基本的 Android 應用配置

Android Studio 為應用程式生成的 build.gradle 如下所示:

apply plugin: 'com.android.application'

android {
    // setup which version of the SDK to build against and
    // with what version of the build tools
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    // default app configurations
    defaultConfig {
        // this is your app unique ID
        applicationId "com.example.myapp"
        
        // devices with lower SDK version can't install the app
        minSdkVersion 14
        // target SDK version, should be the last available one and
        // match the compile one
        targetSdkVersion 23
        
        // integer and string version of your app
        versionCode 1
        versionName "1.0"
    }
    
    // default build types are "debug" and "release"
    buildTypes {
        release {
            // enable / disable proguard optimization
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

// app dependencies
dependencies {
    // any jar file in the libs folder
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // test dependency
    testCompile 'junit:junit:4.12'
    // runtime dependency on the support library
    compile 'com.android.support:appcompat-v7:24.0.0'
}

使用 Gradle 配置你的構建,可以教你更高階的 Android Gradle Plugin 設定和選項,並深入瞭解此設定的含義。

defaultConfig 就是這樣呼叫的,因為它可以用 Product Flavors 覆蓋。

buildTypes 標籤允許你設定如何構建你的應用程式以實現優化(如 proguard),你可以學習更多閱讀構建型別 。它還可用於設定應用程式的簽名。

你還應該瞭解有關如何宣告依賴關係的更多資訊 。如你所見,dependencies 標籤位於 android 之外:這意味著它不是由 Android 外掛定義的,而是標準的 gradle

Gradle Wrapper

預設情況下,Android Studio 還會安裝 gradle 包裝器 。這是一個可以直接從命令列執行的工具,它將在你第一次執行時下載本地特定版本的 gradle。

要啟動編譯應用程式,你可以啟動 gradle 包裝器

Linux / Mac:

./gradlew assemble

視窗:

gradlew assemble

該指令碼啟動包裝器,包含在專案根目錄中的 gradle 資料夾中:

  • gradle-wrapper.jar:下載 gradle 並執行它的包裝器的程式碼
  • gradle-wrapper.properties 定義包裝器應下載哪個 gradle 版本

外部連結: