Gradle 重点讲解

一、Gradle理论Gradle,这是一个基于 JVM 的富有突破性构建工具。Gradle 正迅速成为许多开源项目和前沿企业构建系统的选择,同时也在挑战遗留的自动化构建项目。Gradle使用语言是Groovy。适用于自动化地进行软件构建、测试、发布、部署、软件打包的项目。对于Gradle在Android Studio里面的作用可以简单理解为:是一种项目构建工具。用过Eclipse的都知...
摘要由CSDN通过智能技术生成

一、Gradle理论

Gradle,这是一个基于 JVM 的富有突破性构建工具。Gradle 正迅速成为许多开源项目和前沿企业构建系统的选择,同时也在挑战遗留的自动化构建项目。Gradle使用语言是Groovy。

适用于自动化地进行软件构建、测试、发布、部署、软件打包的项目。

对于Gradle在Android Studio里面的作用可以简单理解为:是一种项目构建工具。用过Eclipse的都知道Ant。Android Studio 替代了Eclipse(Android方面),Gradle就是替代了Ant执行编译,打包的过程。Gradle中,每一个待编译的工程都叫一个Project。每一个Project在构建的时候都包含一系列的Task。比如一个Android APK的编译可能包含:Java源码编译Task、资源编译Task、JNI编译Task、lint检查Task、签名Task、打包生成APK的Task等。一个Project到底包含多少个Task,其实是由编译脚本指定的插件决定。插件是什么呢?插件就是用来定义Task,并具体执行这些Task的东西。

下面我们就来简单了解一下这一过程。

二、Gradle基本内容

说到gradle,很多人会发现其实一个project可能包含很多个build.gradle。(至少两个一个是project根目录下面的,一个是module根目录下面的;如果你有多个module那么每个module下面对应有一个build.gradle)。我们先来讲一下project下的gradle。

如下图:

1.project下的build.gradle

直接上project根目录下的build.gradle文件内容,大致说明已经有注释了,其余就不做详细说明了。

// Top-level build file where you can add configuration options common to all sub-projects/modules.
// project根目录下的build.gradle用于添加子工程或模块(所谓的module)共用的配置项。

// "buildscript"的类型为script block,而且是最上层的script block,用于配置Gradle的Project实例。
// 其API文档为https://docs.gradle.org/current/dsl/org.gradle.api.Project.html#org.gradle.api.Project:buildscript(groovy.lang.Closure)
// 其余的根script block有"allprojects", "dependencies", "configurations"等,更多的可见https://docs.gradle.org/current/dsl/的“Build script structure”一节。
// Script Block是一种method的调用,传入的参数为configuration closure。执行后会对Project的属性进行配置。
// 此处的"buildscript"用于配置Project的build script的classpath。

buildscript {
    repositories {
        // 代码托管库,可以从https://jcenter.bintray.com/下载对应的代码库
        jcenter()
        //同理于jcenter(),申明代码托管库Google,如果需要相应的代码库,那么就会去下载
        google()
        //有时你可能还会使用maven的代码托管库
        //maven{ url 'https://jitpack.io'}
    }
    //这里面依赖的插件应用于整个project,不同于module下面的build.gradle只应用于当前的module
    dependencies {
        //声明了一个Gradle插件用来作为Android开发。3.2.1为gradle版本号
        classpath 'com.android.tools.build:gradle:3.2.1'
//        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

2.module下的build.gradle(重点)

1).apply plugin,声明是Android应用程序还是库模块

//声明是Android程序,
//com.android.application 表示这是一个应用程序模块,可直接运行
apply plugin: 'com.android.application'
//apply plugin: 
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值