# 構建文件示例
一個純 Java 的 Gradle 項目的 build.gradle 文件可以簡單到只包含以下內容:
~~~
apply plugin: 'java'
~~~
這里引入了 Gradle 的 Java 插件,該插件提供了所有構建和測試 Java 應用程序所需的東西。
最簡單的 Android Gradle 項目的 build.gradle:
~~~
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.11.1'
}
}
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
}
~~~
譯者注:目前 Gradle Tools 版本為 1.2.3 (2015.05.26)
上述內容包含了 Android 構建文件的 3 個主要部分:
**buildscript { ... }** 配置了驅動構建的代碼.
在這部分,聲明了項目使用 Maven 倉庫,并且聲明了一個 Maven 文件的 classpath。
該文件聲明了項目的 Android Gradle 插件版本為 0.11.1。
> **注意**:這里的配置只影響了構建過程的代碼,而不是整個工程的代碼.工程本身需要聲明它自己的倉庫和依賴.這個后面會提到.
接下來,跟前面提到的 Java 插件一樣添加了 **android** 插件.
最后,**android { ... }** 配置了所有 android 構建所需的參數,這也是 Android DSL 的入口點。
默認情況下,只有 **compileSdkVersion** 和 **buildtoolsVersion** 這兩個屬性是必須的。
**compileSdkVersion** 屬性相當于舊構建系統中`project.properites` 文件中的 **target** 屬性。這個新的屬性可以跟舊的 **target** 屬性一樣指定一個 `int` 或者 `String` 類型的值。
> **重要:****android** 插件不能與 **java** 插件同時使用,否則會導致構建錯誤.
> **注意:** 你需要在相同路徑下添加一個 *local.properties* 文件,并使用 **sdk.dir** 屬性來設置 SDK 路徑。或通過設置 **ANDROID_HOME** 環境變量來設置 SDK 路徑,這兩種方式沒有什么不同,根據你自己的喜好選擇其中一種設置。
- 譯者序
- 簡介
- 新構建系統的目標
- 為什么使用 Gradle?
- 配置要求
- 基礎項目
- 構建文件示例
- 項目結構
- 配置項目結構
- 構建任務
- 通用任務
- Java 項目的 Task
- Android Tasks
- 基本的構建定制
- Manifest 屬性
- 構建類型
- 簽名配置
- 運行 ProGuard
- 清理資源
- 依賴、Library 和多項目
- 包依賴
- 本地包依賴
- 遠程包依賴
- 多項目設置
- Library 項目
- 創建 Library 項目
- 普通項目和 Library 項目的區別
- 引用 Library 項目
- Library 項目發布
- 測試
- 單元測試
- 基本知識和配置
- 運行測試
- 測試 Android Library 項目
- 測試報告
- 獨立項目
- 多項目報告
- Lint 支持
- 構建 Variants(變種)版本
- 產品定制
- 構建類型+產品定制=構建變種版本
- 產品定制的配置
- 源組件和依賴
- 構建和任務
- 測試
- 多定制的變種版本
- 高級構建的自定義
- 構建選項
- Java 編譯選項
- aapt 選項
- dex 選項
- 操作 task
- 構建類型和產物定制的屬性引用
- 使用sourceCompatibility 1.7
- 附錄
- ApplicationId 與 packageName