Wrapper,就是对Gradle的一层包装,便于在团队开发过程中统一Gradle构建的版本。这样大家就可以使用统一的Gradle版本进行构建,避免因为Gradle的版本不统一带来的不必要的问题。

这里我们把Wrapper这块的内容放在第二节的原因为,我们在项目开发中,使用的都是Wrapper这种方式。而不是我们在第一节中讲的那样,自己下载一个压缩包,配置环境的方式。Wrapper在Window下是一个批处理文件,在Linux/Mac下是一个shell脚本。当你使用Wrapper启动Gradle时,Wrapper会检查Gradle有没有被下载和关联,如果没有就会从配置的地址下进行下载并运行构建。这对我们开发者来说是非常友好的,只要执行Wrapper命令,它就能帮你搞定一切。

下面我们来详细讲述一下Wrapper相关的知识。

一、生成Wrapper

Gradle提供了内置的Wrapper task来帮助我们生成Wrapper文件所需的目录文件,在一个项目的目录下输入gradle wrapper即可生成:

生成的文件如下:

gradlew 和 gradlew.bat 分别是 Linux 和 Windows 下的可执行脚本,他们的用法是和Gradle原生命令是一样的,Gradle怎么用,他们就可以怎么用。

gradle-wrapper.jar是具体业务逻辑实现的jar包,gradlew最终还是使用Java执行的这个jar包来执行相关呢的Gradle操作。

Wrapper 配置引申:

gradle wrapper --gradle-version : 用于指定使用的Gradle的版本。

gradle wrapper --gradle-distribution-url :用于指定下载Gradle发行版的url地址。

二、gradle-wrapper.properties 文件说明

gradle-wrapper.properties 是 gradle wrapper 的配置文件,内容如下:

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

下面是相关字段的说明:

  • distributionBase:下载的Gradle压缩包解压后存储的主目录。
  • distributionPath:相对于distributionBase的解压后的Gradle压缩包的路径
  • distributionUrl:Gradle发行版压缩包的下载地址
  • zipStoreBsae:同distributionBase,只不过是存放zip压缩包的
  • zipStorePath:同distributionPath,只不过是存放zip压缩包的

在这些字段中,比较重要的字段就是distributionUrl,此字段是下载Gradle的路径,决定了依赖的Gradle版本,如果运行./gradlew的时候一直卡的不动,可能是网络访问不通。一般的解决思路为:翻墙 or 更换其他镜像地址。

Android Gradle 学习笔记(二):Gradle Wrapper的更多相关文章

  1. Android Studio 学习笔记(二):布局简介和xmlns说明

    初学Android Studio,是在b站看的教程视频,这里的笔记也是以其为基础的,个人强烈安利: [天哥]Android开发视频教程最新版 Android Studio开发 Android 布局简介 ...

  2. Android Fragment学习笔记(二)----Fragment界面添加和管理

    Fragment界面添加 了解过fragment的生命周期等简单知识,于是去看官方文档来了解更多相关内容,要添加fragment到我们的UI界面中,给出了两种常用的方法,第一个是在activity的布 ...

  3. Android:日常学习笔记(8)———探究UI开发(5)

    Android:日常学习笔记(8)———探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...

  4. Android:日常学习笔记(2)——分析第一个Android应用程序

    Android:日常学习笔记(2)——分析第一个Android应用程序 Android项目结构 整体目录结构分析 说明: 除了APP目录外,其他目录都是自动生成的.APP目录的下的内容才是我们的工作重 ...

  5. Android Studio 学习笔记(一)环境搭建、文件目录等相关说明

    Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...

  6. Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例

    ---------------------------------------------------------------------------------------------------- ...

  7. Android自动化学习笔记:编写MonkeyRunner脚本的几种方式

    ---------------------------------------------------------------------------------------------------- ...

  8. android开发学习笔记000

    使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...

  9. Android Animation学习(二) ApiDemos解析:基本Animators使用

    Android Animation学习(二) ApiDemos解析:基本Animatiors使用 Animator类提供了创建动画的基本结构,但是一般使用的是它的子类: ValueAnimator.O ...

  10. Android动画学习笔记-Android Animation

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

随机推荐

  1. leaflet 结合 geoserver 实现地图属性查询(附源码下载)

    前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...

  2. android studio学习----目录结构

    项目结构:一个窗口只有一个项目,项目 叫  Project 代表一个workspace 一个项目的结构跟eclipse区别还是蛮大的: 首先看APP结构:app放的其实就是  java文件和资源文件 ...

  3. Android 插件化开发(一):Java 反射技术介绍

    写在前面:学习插件化开发推荐书籍<Android 插件化开发指南>,本系列博客所整理知识部分内容出自此书. 在之前的项目架构的博文中,我们提到了项目插件化架构,提到插件化架构不得不提的到J ...

  4. centos7配置Memcached

    Memcached是一套分布式的高速缓存系统,用于提升网站访问速度,尤其对于一些大型的.需要频繁访问数据库的网站,访问速度提升效果十分显著. 1.安装memcached yum install mem ...

  5. 网页解析库-Xpath语法

    网页解析库 简介 除了正则表达式外,还有其他方便快捷的页面解析工具 如:lxml (xpath语法) bs4 pyquery等 Xpath 全称XML Path Language, 即XML路径语言, ...

  6. Git 原理简谈

    Git 本身是一个对 reference 进行管理的数据库,reference 指的是对原始数据的引用.通过对原始数据的追踪,那么就可以做到对版本的控制.Git 使用一个 DAG 存储了整个的refe ...

  7. 痛苦的 java.net.BindException: Address already in use: connect —— Nacos的坑

    我的dubbo应用, 刚开始的时候,启动一两个是没有问题的, 启动多了就大量出现: -- :: --- [TaskScheduler-] o.s.c.a.nacos.discovery.NacosWa ...

  8. 计算几何 val.2

    目录 计算几何 val.2 几何单位结构体板子 旋转卡壳 基础概念 求法 模板 半平面交 前置芝士:线段交 S&I算法 模板 最小圆覆盖 随机增量法 时间复杂度 模板 后记 计算几何 val. ...

  9. asp.net core的AOP记录

    序曲:学习编程最好的方式就是敲代码,没有比这个更好的方法,哪怕你看了上百G的视频,都不如你自己敲几行代码更为有效.还有要记得敲完代码然后写一篇随笔来记录一下你所学所想. 什么叫AOP? AOP面向切面 ...

  10. 一起学Spring之三种注入方式及集合类型注入

    本文主要讲解Spring开发中三种不同的注入方式,以及集合数据类型的注入,仅供学习分享使用,如有不足之处,还请指正. 概述 Spring的注入方式一共有三种,如下所示: 通过set属性进行注入,即通过 ...