Gradle:Gradle入门

一、安装Gradle?

1.首先确保你安装的JDK1.5或以上版本号。?

C:\Users\chengxiang.peng.QUNARSERVERS>java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode) 

2.从官方站点下载对应的版本号,将下载文件解压到某个文件夹;?

C:\Users\chengxiang.peng.QUNARSERVERS>gradle -v
------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------
Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a
Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_45 (Oracle Corporation 25.45-b02)
OS:           Windows 7 6.1 amd64

二、開始使用Gradle?

1.每一个Gradle构建都是一个脚本開始的,构建默认的脚本名称是build.gradle。

当运行gradle命令的时候。Gradle会去寻找名字为build.gradle的文件。

假设找不到,就会显示一个帮助信息。?

C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle
:help
Welcome to Gradle 2.2.1.
To run a build, run gradle <task> ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
BUILD SUCCESSFUL
Total time: 3.132 secs 

2.创建build.gradle文件,创建task叫做helloWorld,文件例如以下。并运行该任务:gradle -q?helloWord;?

build.gradle文件?

task helloWorld{
    //task运行的最后一个目标
    doLast {
        println ‘Hello world!‘
    }
} 

运行task任务helloWord,通过-q定义可选命令行选项quiet。

?

C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle -q helloWorld
Hello world! 

3.创建新的build.gradle文件,演示gradle的task依赖dependsOn来说明task之间的依赖,Gradle和Ant非常好的集成,定义动态task,运行时指定它们的名字;?

build.gradle文件?

task startSession << {
    chant()
} 

def chant() {
    //隐含对Ant任务的使用
    ant.echo(message: ‘Repeat after me ...‘)
} 

//动态任务的定义
3.times {
    task "yayGradle$it" << {
        println ‘gradle tocks‘
    }
} 

//依赖任务
yayGradle0.dependsOn startSession
yayGradle2.dependsOn yayGradle1, yayGradle0
task groupTherapy (dependsOn: yayGradle2) 

运行gradle构建,运行命令gralde?groupTherapy。gradle task运行顺序:startSession->yayGradle0->yayGradle1->yayGradle2->groupTherapy;?

C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle groupTherapy
:startSession
[ant:echo] Repeat after me ...
:yayGradle0
gradle tocks
:yayGradle1
gradle tocks
:yayGradle2
gradle tocks
:groupTherapy 

BUILD SUCCESSFUL 

Total time: 3.83 secs 

三、使用Gradle的命令行?

1.gradle提供了一个叫做tasks的帮助任务来帮助你查看构建脚本和显示每一个能够使用的task。包括描写叙述该task作用的信息;?

C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle -q tasks 

------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------
//任务组Build Setup,看做是多个task的集群
Build Setup tasks
-----------------
init - Initializes a new Gradle build. [incubating]
wrapper - Generates Gradle wrapper files. [incubating] 

//Help任务组。列出了任务名字和它们的描写叙述
Help tasks
----------
components - Displays the components produced by root project ‘HelloWorld‘. [incubating]
dependencies - Displays all dependencies declared in root project ‘HelloWorld‘.
dependencyInsight - Displays the insight into a specific dependency in root project ‘HelloWorld‘.
help - Displays a help message.
projects - Displays the sub-projects of root project ‘HelloWorld‘.
properties - Displays the properties of root project ‘HelloWorld‘.
tasks - Displays the tasks runnable from root project ‘HelloWorld‘. 

//假设某个task不属于不论什么一个任务组。那么它就会显示在Other tasks中
Other tasks
-----------
groupTherapy 

To see all tasks and more detail, run with --all. 

2.查看构建脚本中定义的其它的task;?

C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle -q tasks - -all
… …
Other tasks
-----------
//依赖关系图的根task,以运行顺序用缩进的方式列出依赖任务的名字
groupTherapy
    startSession
    yayGradle0
    yayGradle1
    yayGradle2 

四、任务运行?

1.通过在命令行中通过多个參数,一次运行多个任务。?

C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle yayGradle0 groupTherapy
:startSession
[ant:echo] Repeat after me ...
:yayGradle0
gradle tocks
:yayGradle1
gradle tocks
:yayGradle2
gradle tocks
:groupTherapy 

BUILD SUCCESSFUL 

Total time: 3.826 secs 

2.能够使用驼峰式的缩写在命令行上运行任务,任务名字的缩写必须是唯一的,Gradle才干找到对应的任务;?

正确运行?

C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle yG0 gT
:startSession
[ant:echo] Repeat after me ...
:yayGradle0
gradle tocks
:yayGradle1
gradle tocks
:yayGradle2
gradle tocks
:groupTherapy 

BUILD SUCCESSFUL 

Total time: 3.8 secs 

错误运行?
build.gradle文件?

task groupTherapy << {
} 

task generateTests << {
} 
C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle yG0 gT
FAILURE: Build failed with an exception. 

* What went wrong:
Task ‘yG0‘ not found in root project ‘HelloWorld‘. 

* Try:
Run gradle tasks to get a list of available tasks. Run with --stacktrace option
to get the stack trace. Run with                                               --info
or                                                                             --debug
option to get more log output. 

BUILD FAILED 

Total time: 4.423 secs 

3.在运行任务时排除一个任务,-x參数来实现;?

C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle groupTherapy -x
//gradle排除了和它依赖的任务yayGradle0和startSession
yayGradle0
:yayGradle1
gradle tocks
:yayGradle2
gradle tocks
:groupTherapy 

BUILD SUCCESSFUL 

Total time: 3.511 secs 

五、命令行选项?

1.-?,h,- -help:打印全部可用的命令行选项。包括描写叙述信息。?

2.-b,--build-file:运行一个特定名字的构建脚本。?

3.-i,--info:将Gradle的日志级别的改变到INFO以获得很多其它信息。?

4.-s,--stacktrace:构建在运行出现错误,有异常抛出时会打印出简短的堆栈跟踪信息。?

5.-q,--quiet:降低构建出错时打印出来的错误日志信息。?

?

六、Gradle守护进程?

1.守护进程以后台进程方式运行Gradle。一旦启动。gradle命令就会在兴许的构建中重用之前创建的守护进行,以避免启动时造成的开销;?

2.--daemon选项,守护进行仅仅会被创建一次。即时你在命令加了--daemon选项。?

3.守护进行会在3个小时空暇时之后自己主动活期。?

4.--no-daemon,手动停止守护进程;?

C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle groupTherapy --daemon
:startSession
[ant:echo] Repeat after me ...
:yayGradle0
gradle tocks
:yayGradle1
gradle tocks
:yayGradle2
gradle tocks
:groupTherapy 

BUILD SUCCESSFUL 

Total time: 2.171 secs

原文地址:https://www.cnblogs.com/llguanli/p/8452552.html

时间: 2024-07-29 14:44:35

Gradle:Gradle入门的相关文章

Gradle学习系列之一——Gradle快速入门(转)

这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构建多个Project 自定义Task类型 自定义Plugin 请通过以下方式下载本系列文章的Github示例代码: git clone https://github.com/davenkin/gradle-learning.git 和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作

AndroidStudio下gradle的入门介绍与使用

参考: 网易云加密:http://apk.aq.163.com 网易云捕:http://crash.163.com 1 Groovy Groovy 是没有类型的 Java 代码 ,语法更简洁,形式有点类似脚本语言,被gradle用于构建脚本的语言 1.1 特殊类型 1.范围 范围 是一系列的值.例如 "0..4" 表明包含 整数 0.1.2.3.4.Groovy 还支持排除范围,"0..<4" 表示 0.1.2.3.还可以创建字符范围:"a..e&q

Gradle学习系列之一——Gradle快速入门

Gradle学习系列之一--Gradle快速入门 这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构建多个Project 自定义Task类型 自定义Plugin 请通过以下方式下载本系列文章的Github示例代码: git clone https://github.com/davenkin/gradle-learning.git 和Maven一样,

Gradle从入门到放弃

1 Gradle工具的基本介绍 Java作为一门世界级主流编程语言,有一款高效易用的项目管理工具是Java开发者共同追求的心愿和目标.先是2000年的Ant,后有2004年Maven两个工具的诞生,都在Java市场上取得了巨大的成功.但是二者都有一定的不足和局限性. 2012年基于Ant和Maven产生的Gradle,弥补了Ant和Maven的不足,带来了一些更加高效的特点.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置.面向Java应用为主.当

gradle wrapper, gradle ,gradle plugin 之间的关系

gradle 是 Android studio 中很重要应用. gradle wrapper 管理 gradle 版本的工具,如果没有,它会从提定网址下载相应版本 gradle. gradle 一般在 c:\ 个人用户\gradle 下面. gradle 用Groovy 语法表示,类似于java. Gradle 各个版本之间兼容性不好, 目前最高版本3.3 gradle plugin 是gradle 基础上写的插件,最重要的两个插件, apply plugin: 'com.android.app

[Gradle] Gradle 构建 android 应用常见问题解决指南

转载地址:http://www.cnblogs.com/youxilua/p/3348162.html 1: 使用最新的gradle android插件 以前我们写的时候会这么写 dependencies { classpath 'com.android.tools.build:gradle:0.5.0' } 不过,由于android gradle 插件的开发还是很活跃的,而且目前而言,可能还存在一些我们不知道的坑,但是,别人踩过,后边,官方修复,为了不踩坑,我建议android gradle

Gradle Task入门演示二

https://docs.gradle.org/current/userguide/more_about_tasks.html Defining tasks 有多种方式可以定义task,现在再来看下面这几种方式, task(helloTask) << {     println "hello" } task的名字helloTask,还可以使用引号, task('helloTask2') << {     println "hello" } 还

gradle基础入门

1. gradle简介 Java世界中主要有三大构建工具:Ant.Maven和Gradle.经过几年的发展,Ant几乎销声匿迹.Maven也日薄西山,而Gradle的发展则如日中天. 1.1. ANT ANT是最早的构建工具,其主要基于IDEA,在2000年的时候最流行java构建工具,虽然对工程构建过程中的过程控制特别好,也比较灵活,但是它的XML脚本编写格式让XML文件特别大. 1.2. Maven Maven主要是用来填补Ant的坑的,Maven第一次支持了从网络上下载的功能,仍然采用xm

[Gradle] Gradle 简介

Gradle 是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自动化构建工具. Ø gradle对多工程的构建支持很出色,工程依赖是gradle的第一公民. Ø gradle支持局部构建.Ø 支持多方式依赖管理:包括从maven远程仓库.nexus私服.ivy仓库以及本地文件系统的jars或者dirs Ø gradle是第一个构建集成工具(the first build integration tool),与ant.maven.ivy有良好的相容相关性. Ø

gradle/gradle plugin/Android studio关系

gradle - 构建工具,存储于Users/stono/.gradle/wrapper/dists Adroid Studio- IDE Gradle plugin - 在AS中使用Gradle的插件:貌似存储于:/Applications/Android Studio 3.0 Preview.app/Contents/gradle/m2repository/com/android/tools/build/gradle 三者之间有版本兼容问题: Gradle与Gradle plugin版本关系