美文网首页应用层的知识归纳
Gradle理论与实践一:Gradle入门

Gradle理论与实践一:Gradle入门

作者: 饱醉豚我去年买了个表 | 来源:发表于2018-12-28 14:23 被阅读29次

    Gradle系列相关文章
    1、Gradle理论与实践一:Gradle入门
    2、Gradle理论与实践二:Groovy介绍
    3、Gradle理论与实践三:Gradle构建脚本基础
    4、Gradle理论与实践四:自定义Gradle插件
    5、Gradle配置subprojects和allprojects的区别:subprojects和allprojects的区别

    Gradle入门

    Gradle一门DSL(Domain Specific Language,领域特定语言),Gradle基于Groovy语言,专门用来解决自动化构建。Gradle可以认为是一个框架,负责定义流程和规则。而具体的编译工作则是通过插件的方式来完成的。比如编译 Java 有 Java 插件,编译 Groovy 有 Groovy 插件,编译 Android APP 有 Android APP 插件,编译 Android Library 有 Android Library 插件。

    1、配置Gradle环境

    1、下载Gradle地址:https://gradle.org/

    2、下载相应版本的Gradle,我的笔记本是Mac,下载的是v4.10.2版本:

    image.png
    3、下载完之后,我放到了/Users/mq/gradle-4.10.2/目录下,要运行Gradle,必须把GRADLE_HOME/bin目录添加到环境变量PATH的路径才可以,下面是配置Mac的步骤:打开Mac终端,输入: open -e .bash_profile,打开.bash_profile文件,接着编辑.bash_profile文件:
    GRADLE_HOME=/Users/mq/gradle-4.10.2;
    export GRADLE_HOME
    export PATH=$PATH:$GRADLE_HOME/bin
    

    如下:


    image.png

    保存一下.bash_profile文件,最后在终端上执行source ~/.bash_profile命令,更新.bash_profile文件
    4、最后验证一下结果,进入到Gradle安装目录中,输入命令cd /Users/mq/gradle-4.10.2/,接着输入gradle -version或者gradle -v,如果结果如下就是安装成功了:

    mqdeMacBook-Pro:gradle-4.10.2 mq$ gradle -version
    
    ------------------------------------------------------------
    Gradle 4.10.2
    ------------------------------------------------------------
    
    Build time:   2018-09-19 18:10:15 UTC
    Revision:     b4d8d5d170bb4ba516e88d7fe5647e2323d791dd
    
    Kotlin DSL:   1.0-rc-6
    Kotlin:       1.2.61
    Groovy:       2.4.15
    Ant:          Apache Ant(TM) version 1.9.11 compiled on March 23 2018
    JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
    OS:           Mac OS X 10.13.6 x86_64
    

    2、Gradle之Hello World

    找到Gradle安装的目录,其中有个/bin目录,我的是/Users/mq/gradle-4.10.2/bin,打开bin目录并创建一个build.gradle文件,写入:

    task hello << {
        print 'hello world'
    }
    

    在终端进入到对应的/bin目录,输入命令gradle -q hello, 输出:

    mqdeMacBook-Pro:test_gradle mq$ gradle -q hello
    hello world
    

    一个简单的hello world就完成了,说明:build.gradle是Gradle默认的构建脚本文件,执行命令时会默认加载当前目录下的build.gradle文件。每个Gradle构建都包含三个基本构建块:project、task、property.

    3、gradle 与gradlew的区别

    gradle版本会不断更新,多人协作开发时,每个人使用的版本可能会不同。而gradlew(wrapper)可以看成是gradle的一层包装,让我们使用相同版本的gradle进行构建,我们在gradle -> wrapper中可以看到gradle-wrapper.properties文件,制定了gradle的版本。

    注:有时候输入gradlew命令时,会提示./gradlew: Permission denied , 在控制台输入chmod +x gradlew, 该命令的作用是是Linux下去除执行权限。详情见:
    https://stackoverflow.com/questions/17668265/gradlew-permission-denied

    4、Gradle命令介绍

    • gradle projects 查看工程信息
    • gradle tasks 查看任务信息
    • gradle task name 执行task任务

    5、Gradle 工作流程

    以multi-project build为例,Gradle工作流程如下:

    • 初始化阶段:首先解析settings.gradle
    • Configration阶段:解析每个Project中的build.gradle,解析过程中并不会执行各个build.gradle中的task。
    • 经过Configration阶段,Project之间及内部Task之间的关系就确定了。一个 Project 包含很多 Task,每个 Task 之间有依赖关系。Configuration 会建立一个有向图来描述 Task 之间的依赖关系, 所有Project配置完成后,会有一个回调project.afterEvaluate,表示所有的模块都已经配置完了。
    • 执行Task任务

    相关文章

      网友评论

        本文标题:Gradle理论与实践一:Gradle入门

        本文链接:https://www.haomeiwen.com/subject/qswslqtx.html