Gradle简介

gradle跟ant/maven同样,是一种依赖管理/自动化构建工具。可是跟ant/maven不同,它并无使用xml语言,而是采用了Groovy语言,这使得它更加简洁、灵活,更增强大的是,gradle彻底兼容maven和ivy。html

基本配置

build.gradle

首先明确gradle跟maven同样,也有一个配置文件,maven里面是叫pom.xml,而在gradle中是叫build.gradle。Android Studio中的android项目一般至少包含两个build.gradle文件,一个是project范围的,另外一个是module范围的,因为一个project能够有多个module,因此每一个module下都会对应一个build.gradle。linux

 

一些与gradle相关的文件:
android

gradle.properties

从名字上就知道它是一个配置文件,没错,这里面能够定义一些常量供build.gradle使用,好比能够配置签名相关信息如keystore位置,密码,keyalias等。shell

settings.gradle

这个文件是用来配置多模块的,好比你的项目有两个模块module-a,module-b,那么你就须要在这个文件中进行配置,格式以下。windows

include ':module-a',':module-b'app

gradle文件夹:

这里面有两个文件,gradle-wrapper.jar和gradle-wrapper.properties,它们就是gradle wrapper。gradle项目都会有,你能够经过命令gradle init来建立它们(前提是本地安装了gradle而且配置到了环境变量中)。maven

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的缩写。工具

gradle仓库

gradle有三种仓库,maven仓库,ivy仓库以及flat本地仓库。声明方式以下:测试

maven{
      url "..."
}
ivy{
      url "..."
}
flatDir{
      dirs 'xxx'
}
有一些仓库提供了别名,可直接使用:gradle

repositories{
     mavenCentral()
     jcenter()
     mavenLocal()
}

gradle任务

gradle中有一个核心概念叫任务,跟maven中的插件目标相似。
gradle的android插件提供了四个顶级任务

  • assemble 构建项目输出
  • check 运行检测和测试任务
  • build 运行assemble和check
  • clean 清理输出任务

参考:

http://www.androidchina.net/2155.html

相关文章
相关标签/搜索