ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Android开发 >> Android Gradle 自定义Task 详解

Android Gradle 自定义Task 详解(1/5)

来源:网络整理     时间:2017-12-05     关键词:

本篇文章主要介绍了" Android Gradle 自定义Task 详解",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下: 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/76408024 本文出自【赵彦军的博客】一:...

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/76408024
本文出自【赵彦军的博客】

一:Gradle 是什么

  • Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。
  • 它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。面向Java应用为主。
  • 当前其支持的语言限于Java、Groovy、Kotlin和Scala,计划未来将支持更多的语言。基于 groovy 脚本构建,其 build 脚本使用 groovy 语言编写。

关于 gradle 相关运用,可以移步 :Android Gradle使用总结

二:groovy 是什么

Groovy是一种动态语言,它和Java类似(算是Java的升级版,但是又具备脚本语言的特点),都在Java虚拟机中运行。当运行Groovy脚本时它会先被编译成Java类字节码,然后通过JVM虚拟机执行这个Java字节码类。

关于 groovy 相关知识,移步到这里:Groovy 使用完全解析

三:Gradle 的 Project 和 Tasks

每次构建(build)至少由一个project构成,一个project 由一到多个task构成。每个task代表了构建过程当中的一个原子性操作,比如编译,打包,生成javadoc,发布等等这些操作。

gradle : 一个 project 包含多个 task,一个 task 包含多个 Action

project 
                  -- task1 (Action1、Action2...)
                  -- task2 (Action1、Action2...)
                  -- ... 

四:自定义 Task

  • 格式:
 task 任务的名字 {
    //do some things
 }
  • 例子

build.gradle

//定义 task , 名字 hello 
task hello{
    println "hello world"
}

//定义 task,名字 hello 
task(hello2){
    println "hello world2"
}

//定义 task,名字 hello3 
task ('hello3'){
    println "hello world3"
}

  • 在终端运行 gradle 命令

//执行 hello task
gradlew hello

//执行 hello2 task
gradlew hello2

//执行 hello3 task
gradlew hello3

五:创建Action

在上面的举例中,是一个非正式的 task , 说非正式是因为创建的 task 里面没有 action 。task 本质上又是由一组被顺序执行的 Action 对象构成,Action其实是一段代码块,类似于Java中的方法。

创建 Action 相关 API

 //在Action 队列头部添加Action
 Task doFirst(Action action);
 Task doFirst(Closure action);

 //在Action 队列尾部添加Action
 Task doLast(Action action);
 Task doLast(Closure action);

 //已经过时了,建议用 doLast 代替
 Task leftShift(Closure action);

 //删除所有的Action
 Task deleteAllActions();

小例子

build.gradle

上一篇Android文件操作 下一篇weex 环境搭建

相关图片

相关文章