- A+
快速提示-什么是Gradle?你是如何使用它的?
本文于2016年4月更新,以包含android包装器的详细信息。
于2007年发布,梯度是一种流行的开放源码自动构建系统,它可以简化大型项目的工作。它是以它的前身的概念为基础的Apache Maven和Apache Ant,而是使用基于Groovy的域特定语言(DSL)和Java,而不是使用XML。
它通过跳过对最新项目的不必要的重新执行来加快构建过程,这是大型项目树的一部分。它还可以通过只使用一行代码将不同的库添加到项目中。
Gradle是AndroidStudio的官方构建系统,作为AndroidStudio的用户,大多数配置都是自动进行的。但是我觉得对它的工作原理有一个基本的理解对每个Android开发者都是有用的。
在本文中,我将简要介绍Gradle、如何使用它以及常见的问题。
独立安装
手动安装并不需要能够构建新的Android应用程序,我将包括本节进行更深入的研究。它与AndroidStudio捆绑在一起,如果您愿意,可以跳到Gradle Basics。
头到下载页面才能得到最新的版本。下载二元分布,解压缩所选目录中的文件并添加到您的路径中。
1
2
3 GRADLE_HOME=DOWNLOAD_PATH/gradle;
export GRADLE_HOME
export PATH=$PATH:$GRADLE_HOME/bin
麦克
Gradle也可通过自制.
窗
Windows用户需要通过以下方式编辑环境变量右击在……上面我的电脑选择特性...选高级系统设置在左边的面板上。这将打开系统特性窗户。在右下角,单击环境变量下面的窗口就会打开。

在……下面系统变量点击新的然后进入格莱德尔家作为名称,以及提取的Gradle压缩和命中的路径。好的.

回到系统变量找到路径在列表中单击编辑.

如果窗户不一样,小心不要删除已经在里面的东西。,相反,转到行尾并添加一个半柱(;)在这两种情况下添加分级家庭%bin保存变化。
要检查一切是否正确,请打开命令提示符(或终端)和写分级-版本...它在控制台上打印版本号,以及下面的其他详细信息。

分级基础
打开文本编辑器并创建包含以下代码的新文件:
1
2
3 task myFirstTask << {
System.out.println "First task running..."
}
把它保存成GradleTest/Build.等级(记得要选择所有类型(作为文件类型)。打开终端,导航到此文件夹并键入
1 | gradle -q tasks |
若要显示要运行的可用任务列表,请执行以下操作。会有一个
1 | Other tasks |
底部有一个元素,
1 | myFirstTask |
.
跑动
1 | gradle -q myFirstTask |
将执行任务,打印任务主体内的行。
1 | -q |
以静默模式执行命令,打印所需的信息,而不是进程。
您希望Gradle运行的所有任务都是在Groovy并保存到一个名为build.gradle.
您可以添加更多任务、设置彼此之间的依赖关系以及设置默认任务。
例如:
1
2
3 task anotherTask (dependsOn: myFirstTask) << {
System.out.println "Another task running..."
}
若要使此任务成为默认任务,请在生成文件的开头添加以下行。
1 defaultTasks 'anotherTask'
再次显示任务列表,您将注意到
1 | myFirstTask |
失踪了。类型
1 | gradle -q |
要执行默认任务,并在屏幕上打印:
1
2 First task running...
Another task running...
当您有一个大型项目,不同的项目相互依赖时,最好的方法是为每个具有特定任务的项目创建一个不同的构建文件,并为整个项目创建一个不同的构建文件。文件的名称保持不变,但它们位于不同的位置。Gradle需要一个配置文件来指定要包含的项目。这是settings.gradle文件,并包含以下内容。
1 include ":projectA", ":projectB", ":projectC"
这是一小部分可以使用的内容,我建议阅读用户指南和DSL参考更多细节。
Android演播室
有几个插件可供Gradle使用,包括Android插件,我将在下面讨论这个插件。
打开AndroidStudio并创建一个新项目。默认情况下,它将包含Gradle包装器。包装器为您安装了合适的工具,以及这些工具的正确版本,从而减轻了不必要的负担。每个包装器都绑定到特定版本的Gradle。有关更多信息,请阅读包装文档.
在项目标签在左边,你会注意到两个主要部分,APP,和分级脚本...第二节包含前面提到的文件。您会注意到,AndroidStudio项目包含build.gradle(项目:AppName)和一个build.gradle(模块:APP)档案。第一个包含应用程序中所有项目和模块的配置。第二个包含它所包含的模块的特定配置。
在对这些文件进行任何更改后,您将需要同步从出现的条形图或工具栏上的图标进行分级。
同步级将通过将当前文件与Gradle和AndroidStudio维护的项目状态进行比较来评估构建文件。如果发现任何更改,它将只执行这些特定任务。