来自Gradle的hello world
Android Studio使用**
Gradle
** 构建项目
为什么要用Gradle?
Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑
为什么Android Studio选择Gradle?
- 使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)
- 基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。
- 支持已有的Maven或者Ivy仓库基础建设
- 非常灵活,允许使用best practices,并不强制让你遵照它的原则来。
- 其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。
- 允许IDE集成,是很好的API工具
下载 配置
- Gradle官网 下载 最新版本(目前最新2.6)
- 设置环境变量
- 添加
GRADLE_HOME
环境变量来制定Gradle的安装目录 - 添加
GRADLE_HOME\bin
到path环境变量中
- 检查测试配置结果
打开命令行,输入gradle -v
Hello World
你可以通过
gradle
命令运行一个Gradle构建.gradle
命令会在当前目录中查找一个叫build.gradle
的文件. 我们称这个build.gradle
文件为一个构建脚本 (build script),但是严格来说它是一个构建配置脚本 (build configuration script). 这个脚本定义了一个 project 和它的tasks.
创建 build.gradle 文件
1 | task hello{ |
进入文件所在目录, 运行命令 gradle -q hello
输出:
这个构建脚本定义了一个独立的 task,叫做hello, 并且加入了一个 action. 当你运行 gradle hello, Gradle 执行叫做 hello 的 task, 也就是执行了你所提供的 action. 这个 action 是一个包含了一些 Groovy 代码的闭包.
-q
: 代表quite模式.它不会生成 Gradle 的日志信息 (log messages), 所以用户只能看到tasks 的输出. 它使得的输出更加清晰. 你并不一定需要加入这个选项.
便捷的定义
1 | task hello << { |
与前面的例子比较, doLast 被替换成了 << 它们有一样的功能, 但看上去更加简洁了
构建脚本代码
1 | task upper << { |
运行: gradle -q upper
结果:
在 Gradle 任务里使用 Groovy
1 | task count << { |
输出:
任务依赖
1 | task hello << { |
运行: gradle -q intro
结果:
intro 依赖于 hello, 所以执行 intro 的时候 hello 命令会被优先执行来作为启动 intro 任务的条件.
在加入一个依赖之前, 这个依赖的任务不需要提前定义, 来看下面的例子
1 | task taskY(dependsOn: 'taskX') << { |