该资源为电脑版,暂无安卓版
gradle是以groovy语言为基础,面向Java应用为主,基于DSL(领域特定语言)语法的自动化构建工具,是一款不可多见的实用工具。
gradle是以groovy语言为基础,面向Java应用为主,基于DSL(领域特定语言)语法的自动化构建工具,又可以称之为groovy构建工具,能够支持强大的多工程构建,支持maven, Ivy仓库,支持传递性依赖管理,并对Ant的任务做了很好的集成,可以更容易创建不同版本的程序。另外gradle更容易重用资源和代码,更容易配置和扩展,更好的IDE集成,相信能够给广大程序员更大的惊喜。
gradle的安装非常方便,用户下载本站的ZIP包,解压到本地目录,设置 GRADLE_HOME 环境变量并将 GRADLE_HOME/bin 加到 PATH 环境变量中,安装就完成了,用户可以运行gradle -v命令验证安装,其详细的操作可参考下文。
1,基于声明和基于约定的构建。
2,依赖型的编程语言。
3,可以结构化构建,易于维护和理解。
4,有高级的API允许你在构建执行的整个过程当中,对它的核心进行监视,或者是配置它的行为。
5,有良好的扩展性。有增量构建功能来克服性能瓶颈问题。
6,多项目构建的支持。
7,多种方式的依赖管理。
8,是第一个构建集成工具。集成了Ant, maven的功能。
9,易于移值。
10,脚本采用Groovy编写,易于维护。
11,通过Gradle Wrapper允许你在没有安装Gradle的机器上进行Gradle构建。
12,自由,开源。
1,安装JDK,并配置JAVA_HOME环境变量。因为Gradle是用Groovy编写的,而Groovy基于JAVA。另外,Java版本要不小于1.5。
2,下载本站提供的gradle最新版本,官方下载地址是:http://services.gradle.org/distributions ,用户在这里下载你要的版本。
3,解压。如果你下载的是gradle-xx-all.zip的完整包,它会有以下内容:
二进制文件
用户手册(包括PDF和HTML两种版本)
DSL参考指南
API手册(包括Javadoc和Groovydoc)
样例
源代码,仅供参考使用。
4,配置环境变量。配置GRADLE_HOME到你的gradle根目录当中,然后把%GRADLE_HOME%/bin(linux或mac的是$GRADLE_HOME/bin)加到PATH的环境变量。
linux用户可以在~/.bashrc文件中配置。
配置完成之后,运行gradle -v,检查一下是否安装无误。如果安装正确,它会打印出Gradle的版本信息,包括它的构建信息,Groovy, Ant, Ivy, 当前JVM和当前系统的版本信息。
另外,可以通过GRADLE_OPTS或JAVA_OPTS来配置Gradle运行时的JVM参数。不过,JAVA_OPTS设置的参数也会影响到其他的JAVA应用程序。
首先明确gradle跟maven一样,也有一个配置文件,maven里面是叫pom.xml,而在gradle中是叫build.gradle。Android Studio中的android项目通常至少包含两个build.gradle文件,一个是project范围的,另一个是module范围的,由于一个project可以有多个module,所以每个module下都会对应一个build.gradle。这么说有点抽象,看下面这个图:
这是一个android工程的project视图,上面那个是module下的build.gradle文件。下面那个是project下的build.gradle文件。这两个文件是有区别的,project下的build.gradle是基于整个project的配置,而module下的build.gradle是每个模块自己的配置。下面看下这两个build.gradle里面的内容:
project#build.gradle:
注:大家可能很奇怪,为什么仓库repositories需要声明两次,这其实是由于它们作用不同,buildscript中的仓库是gradle脚本自身需要的资源,而allprojects下的仓库是项目所有模块需要的资源。所以大家千万不要配错了。
module#build.gradle:
defaultConfig中是一些基本配置,它会同时应用到debug/release版本上,下面列举了所有可配项及对应的值:
buildTypes结点很重要,这里可以配置构建的版本的一些参数,默认有两个构建版本release/debug,当然你可以自定义一个构建版本,比如叫foo,然后通过gradlew assembleFoo就可以生成对应的apk了。
buildTypes里还有很多可配置项,下面列举了所有可配项以及debug/release版本的默认值:
现在大家对build.gradle已经初步了解了,我们再看下其他一些与gradle相关的文件:
1.gradle.properties:
从名字上就知道它是一个配置文件,没错,这里面可以定义一些常量供build.gradle使用,比如可以配置签名相关信息如keystore位置,密码,keyalias等。
2.settings.gradle:
这个文件是用来配置多模块的,比如你的项目有两个模块module-a,module-b,那么你就需要在这个文件中进行配置,格式如下:
3.gradle文件夹:
这里面有两个文件,gradle-wrapper.jar和gradle-wrapper.properties,它们就是gradle wrapper。gradle项目都会有,你可以通过命令gradle init来创建它们(前提是本地安装了gradle并且配置到了环境变量中)。
4.gradlew和gradlew.bat:
这分别是linux下的shell脚本和windows下的批处理文件,它们的作用是根据gradle-wrapper.properties文件中的distributionUrl下载对应的gradle版本。这样就可以保证在不同的环境下构建时都是使用的统一版本的gradle,即使该环境没有安装gradle也可以,因为gradle wrapper会自动下载对应的gradle版本。
gradlew的用法跟gradle一模一样,比如执行构建gradle build命令,你可以用gradlew build。gradlew即gradle wrapper的缩写。
2.gradle仓库:
gradle有三种仓库,maven仓库,ivy仓库以及flat本地仓库。声明方式如下:
3.gradle任务:
gradle中有一个核心概念叫任务,跟maven中的插件目标类似。
gradle的android插件提供了四个顶级任务
执行任务可以通过gradle/gradlew+任务名称的方式执,执行一个顶级任务会同时执行与其依赖的任务,比如你执行
它通常会执行:
这时会在你项目的build/outputs/apk或者build/outputs/aar目录生成输出文件
注:linux下执行构建任务需要首先更改gradlew脚本的权限,然后才能执行该脚本:
可以通过:
列出所有可用的任务。在Android Studio中可以打开右侧gradle视图查看所有任务。
gradle最新版本v3.2更新日志(2016-11-23)
1、支持增量构建,现在针对 Java 汇编、复制、归档有更优秀的 up-to-date 检查。还可以让 Gradle 将任何任务输入视为具有新的 @Classpath 注释的类路径。
2、Gradle 的本机构建支持的用户在此版本中获得了一个重要的工具,是很多人比较熟悉的用于经典多项目构建的 buildDependents。现在可以将新的 assembleDependents 和 buildDependents 用于本机构建。这对于你要确定自己的更改是否对依赖于它们的任何内容产生不利影响非常有用。
3、如果你使用IDE,并且在构建(特别是动态构建)中有很多依赖项,那么可能会需要很长的导入时间。此版本中已解决了基础问题,从而大大提高了导入时间。企业构建的一个例子显示了有100倍的改进!
4、Kotlin 构建脚本在 Windows 平台上编译脚本的错误已经修复,在Windows上尝试此功能更容易。
5、用于声明任务的快捷语法(通过<<)现在已被弃用。