# 构建文件示例
一个纯 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