一、安装Gradle 

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

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

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

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

二、開始使用Gradle 

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

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

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

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

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

build.gradle文件 

  1. task helloWorld{
  2. //task运行的最后一个目标
  3. doLast {
  4. println 'Hello world!'
  5. }
  6. }

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

 

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

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

build.gradle文件 

  1. task startSession << {
  2. chant()
  3. }
  4.  
  5. def chant() {
  6. //隐含对Ant任务的使用
  7. ant.echo(message: 'Repeat after me ...')
  8. }
  9.  
  10. //动态任务的定义
  11. 3.times {
  12. task "yayGradle$it" << {
  13. println 'gradle tocks'
  14. }
  15. }
  16.  
  17. //依赖任务
  18. yayGradle0.dependsOn startSession
  19. yayGradle2.dependsOn yayGradle1, yayGradle0
  20. task groupTherapy (dependsOn: yayGradle2)

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

  1. C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle groupTherapy
  2. :startSession
  3. [ant:echo] Repeat after me ...
  4. :yayGradle0
  5. gradle tocks
  6. :yayGradle1
  7. gradle tocks
  8. :yayGradle2
  9. gradle tocks
  10. :groupTherapy
  11.  
  12. BUILD SUCCESSFUL
  13.  
  14. Total time: 3.83 secs

三、使用Gradle的命令行 

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

  1. C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle -q tasks
  2.  
  3. ------------------------------------------------------------
  4. All tasks runnable from root project
  5. ------------------------------------------------------------
  6. //任务组Build Setup,看做是多个task的集群
  7. Build Setup tasks
  8. -----------------
  9. init - Initializes a new Gradle build. [incubating]
  10. wrapper - Generates Gradle wrapper files. [incubating]
  11.  
  12. //Help任务组。列出了任务名字和它们的描写叙述
  13. Help tasks
  14. ----------
  15. components - Displays the components produced by root project 'HelloWorld'. [incubating]
  16. dependencies - Displays all dependencies declared in root project 'HelloWorld'.
  17. dependencyInsight - Displays the insight into a specific dependency in root project 'HelloWorld'.
  18. help - Displays a help message.
  19. projects - Displays the sub-projects of root project 'HelloWorld'.
  20. properties - Displays the properties of root project 'HelloWorld'.
  21. tasks - Displays the tasks runnable from root project 'HelloWorld'.
  22.  
  23. //假设某个task不属于不论什么一个任务组。那么它就会显示在Other tasks中
  24. Other tasks
  25. -----------
  26. groupTherapy
  27.  
  28. To see all tasks and more detail, run with --all.

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

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

  2. Other tasks
  3. -----------
  4. //依赖关系图的根task,以运行顺序用缩进的方式列出依赖任务的名字
  5. groupTherapy
  6. startSession
  7. yayGradle0
  8. yayGradle1
  9. yayGradle2

四、任务运行 

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

  1. C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle yayGradle0 groupTherapy
  2. :startSession
  3. [ant:echo] Repeat after me ...
  4. :yayGradle0
  5. gradle tocks
  6. :yayGradle1
  7. gradle tocks
  8. :yayGradle2
  9. gradle tocks
  10. :groupTherapy
  11.  
  12. BUILD SUCCESSFUL
  13.  
  14. Total time: 3.826 secs

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

正确运行 

  1. C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle yG0 gT
  2. :startSession
  3. [ant:echo] Repeat after me ...
  4. :yayGradle0
  5. gradle tocks
  6. :yayGradle1
  7. gradle tocks
  8. :yayGradle2
  9. gradle tocks
  10. :groupTherapy
  11.  
  12. BUILD SUCCESSFUL
  13.  
  14. Total time: 3.8 secs

错误运行 
build.gradle文件 

  1. task groupTherapy << {
  2. }
  3.  
  4. task generateTests << {
  5. }
  1. C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle yG0 gT
  2. FAILURE: Build failed with an exception.
  3.  
  4. * What went wrong:
  5. Task 'yG0' not found in root project 'HelloWorld'.
  6.  
  7. * Try:
  8. Run gradle tasks to get a list of available tasks. Run with --stacktrace option
  9. to get the stack trace. Run with --info
  10. or --debug
  11. option to get more log output.
  12.  
  13. BUILD FAILED
  14.  
  15. Total time: 4.423 secs

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

  1. C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle groupTherapy -x
  2. //gradle排除了和它依赖的任务yayGradle0和startSession
  3. yayGradle0
  4. :yayGradle1
  5. gradle tocks
  6. :yayGradle2
  7. gradle tocks
  8. :groupTherapy
  9.  
  10. BUILD SUCCESSFUL
  11.  
  12. 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,手动停止守护进程; 

  1. C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle groupTherapy --daemon
  2. :startSession
  3. [ant:echo] Repeat after me ...
  4. :yayGradle0
  5. gradle tocks
  6. :yayGradle1
  7. gradle tocks
  8. :yayGradle2
  9. gradle tocks
  10. :groupTherapy
  11.  
  12. BUILD SUCCESSFUL
  13.  
  14. Total time: 2.171 secs

Gradle:Gradle入门的更多相关文章

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

    这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构 ...

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

    这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构 ...

  3. AndroidStudio下gradle的入门介绍与使用

    參考: 网易云加密:http://apk.aq.163.com 网易云捕:http://crash.163.com 1 Groovy Groovy 是没有类型的 Java 代码 ,语法更简洁.形式有点 ...

  4. Gradle | Gradle项目无法导入依赖包

    Gradle | Gradle项目无法导入依赖包 背景 今天使用idea导入一个Gradle项目,使用 gradle build构建成功,但是项目还是无法正常导入依赖包,显示错误如下: 解决方案 后来 ...

  5. 【gradle】 入门

    robin@robin-PC2 /D/JavaWorkSpace/payment/alipay-wap (master)$ ./gradlew idea

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

    参考:https://www.cnblogs.com/davenkin/p/gradle-learning-1.html 记录,不做具体转载

  7. [Gradle] Gradle 构建工具的未来

    转载地址:http://www.infoq.com/cn/news/2011/04/xxb-maven-6-gradle Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你 ...

  8. build.gradle & gradle.properties

    一.build.gradle buildscript { ext { springBootVersion = '1.5.9.RELEASE' } repositories { maven { cred ...

  9. Gradle: Gradle Wrapper

    [Gradle 安装] 安装完毕后,记得设置一下环境变量.Environment Variables:GRADLE_HOME=D:\Program Files\Gadle\gradle-4.7Path ...

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

    转载地址:http://www.cnblogs.com/youxilua/p/3348162.html 1: 使用最新的gradle android插件 以前我们写的时候会这么写 dependenci ...

随机推荐

  1. linux 在线实验

    https://www.shiyanlou.com/courses/running/2

  2. 【转】In ASP.NET using jQuery Uploadify upload attachment

    Upload Uploadify is a JQuery plug-in, achieve the effect is very good, with progress display. Upload ...

  3. HTML不熟悉方法总结

    1. onblur   属性在元素失去焦点时触发. 2. onfocus 属性在元素获得焦点时触发. 3.addEventlistener 事件监听 4.focus() 方法用于给予该元素焦点.这样用 ...

  4. AHOI 2009 (BZOJ1798)维护序列 seq (线段树好题?)

    我是不会说这个题很坑的.. 改了一晚上... // by SiriusRen #include <cstdio> #define N 150000 #define LSON l,mid,l ...

  5. 移动web开发常见的问题

    1.屏幕旋转的事件和样式 事件 window.orientation,取值:正负90表示横屏模式.0和180表现为竖屏模式: window.onorientationchange = function ...

  6. 统计之都 http://cos.name/

    http://cos.name/ IMS:一个洲际人际交流网络(为学生免费提供会员资格) 原文链接:http://cos.name/2014/07/ims-a-cross-continent-huma ...

  7. 三维重建:Kinect几何映射-SDK景深数据处理

    此文大量使用XML,非C类的代码,看看图即可. 原文链接:Kinect for Windows SDK开发入门(五):景深数据处理 3. 对物体进行测量 像上篇文章中对深度值测量原理进行讨论的那样,像 ...

  8. max 宏定义取消:error C2589: error C2059: 语法错误 : “::”

    原文链接:http://blog.csdn.net/danelumax2/article/details/9172465有修改! 一:关于Pcl和WIndef的冲突: 1. 错误输出 ./zlibra ...

  9. vsftp进阶-锁定目录

    把用户锁定到特定的目录下面: 一.配置文件: #grep -Ev "^#|^$" /etc/vsftpd/vsftpd.conf anonymous_enable=NOlocal_ ...

  10. ZBrush中如何将一个模型应用在不同的图层

    我们经常会使用ZBrush®中的插入笔刷来实现快速建模,或者使用Insert笔刷创建人物四肢,那么在使用这些笔刷时,它默认是和所接触模型同在一个Subtool,如果您需要不同的材质或者雕刻手法,那么就 ...