Gradle Wrapper

作者: XiMiMax | 来源:发表于2018-03-30 08:26 被阅读101次

    本文讲述Gradle Wrapper,默认您已经掌握了相关知识


    简介

    • Wrapper是对Gradle的一层包装,便于在团队开发过程中统一Gradle构建的版本。

    • Wrapper启动Gradle时会检查Gradle有没有被下载关联,若没有就会从配置的地址下载并运行构建。

    1. 生成Wrapper

    Gradle提供了内置的Wrapper task帮助我们自动生成Wrapper所需的目录文件,在终端进入项目根目录输入命令gradle wrapper

    gradle wrapper
    ​
    Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
    ​
    BUILD SUCCESSFUL in 8s
    1 actionable task: 1 executed
    

    生成的文件如下:

    |____gradle
    | |____wrapper
    | | |____gradle-wrapper.jar  //具体业务逻辑
    | | |____gradle-wrapper.properties  //配置文件
    |____gradlew  //Linux 下可执行脚本
    |____gradlew.bat  //Windows 下可执行脚本
    

    2. Wrapper配置

    终端执行gradle wrapper生成相关文件时,可指定如下参数,控制wrapper的生成:

    Wrapper配置参数:

    参数名 说明
    —gradle-version 用于指定使用的Gradle版本
    —gradle-distribution-url 用于指定下载Gradle发行版的url地址

    例如:

    gradle wrapper --gradle-version 4.1
    

    表示配置 wrapper使用4.1版本Gradle,文件gradle-wrapper.properties中的distributionUrl的规则是http\://services.gradle.org/distributions/gradle-${gradleVersion}-bin.sip。若不设置,则会默认使用当前安装的Gradle版本。

    3. gradle-wrapper.properties

    该配置文件是gradle wrapper的相关配置文件

    gradle-wrapper.properties的配置字段:

    字段名 说明
    distributionBase 下载Gradle压缩包解压后存储的主目录
    distributionPath 相对于distributionBase的解压后的Gradle的路径
    zipStoreBase 类似distributionBase,但存放压缩包
    zipStorePath 类似distributionPath,但存放压缩包
    distributionUrl Gradle发行版压缩包的下载地址

    内容如下:

    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-bin.zip
    

    4. 自定义Wrapper task

    前面提到gradle-wrapper.properties是由Wrapper task生成的,所以我们可以通过配置Wrapper task来达到配置gradle-wrapper.properties的目的。

    可在build.gradle构建文件中录入如下脚本:

    task wrapper(type: Wrapper){
     gradleVersion='2.8'
     distributionBase='GRADLE_USER_HOME'
     distributionPath='wrapper/dists'
     zipStoreBase='GRADLE_USER_HOME'
     zipStorePath='wrapper/dists'
     distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
    }
    //每一项都可单独设置,gradle-2.8-all.zip表示下载该版本Gradle的源码
    

    到这Gradle Wrapper就简单介绍完了,后续我们再学习新的Gradle知识,更多内容 XiMiMax -- http://www.ximimax.cn/ 欢迎持续关注

    相关文章

      网友评论

      • heiheiwanne:还是不知道gradle-wrapper.jar ,这个文件的具体作用。。。,大佬指教
        heiheiwanne:@XiMiMax 懂了,谢谢
        XiMiMax:gradle-wrapper.jar 就是wrapper 的可执行jar ,wrapper代码所在; 它是Gradle Wrapper的组成部分,实际应用中主要关心的是配置文件gradle-wrapper.properties,如果你对gradle-wrapper.jar比较感兴趣也可以自行了解。回复的有些晚 别介意

        :wink: :wink:

      本文标题:Gradle Wrapper

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