注册

Gradle 爬坑指南 -- 概念初解、Grovvy 语法、常见 API(2)

Gradle 安装


上文书 Gradle 运行在 JVM 之上, 因此需要 JDK1.8 或以上 java 环境


1. 下载 Gradle 版本


从 Gradle 官方上下载,地址:Gradle 官网下载地址,选择 .all 的包下载,我下的是 6.6.1,尽量选择较新的版本



2. 配置项目根目录 build.gradle 脚本文件 Gradle 工具版本号


buildscript {

repositories {
google()
jcenter()
}
dependencies {
...
classpath 'com.android.tools.build:gradle:4.0.1'
...
}
}
复制代码

这里 Gradle 工具的版本号要跟着 AS 的版本号走,AS 是哪个版本,这里就写哪个版本。Gradle 工具中的 API 是给 AS 用的,自然要跟着 AS 的版本变迁


当然这也会对 Gradle 构建工具版本有要求:



  • 第一,大家进来使用比较新的版本号
  • 第二,若是 Gradle 版本太低,编译时会有提示的,告诉你最低 Gradle 构建工具版本是多少

3. 使用本地 Gradle 文件编译项目


Gradle 拥有良好的兼容性,为了在没有 Gradle 环境的机器上也能顺利使用 Gradle 构建项目,AS 新创建的项目默认会在根目录下添加 wrapper 配置




其中 gradle-wrapper.properties 文件中提供了该项目使用的 Gradle 构建工具远程下载地址,这里会对应一个具体的版本号,IDE 开发工具默认会根据这个路径去下载 Gradle 给该项目使用


distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
复制代码

这样就会产生一个问题:



  • 每个项目单独管理自己的 gradle,很可能会造成机器上同时存在多个版本的 Gradle,进而存在多个版本的 Daemon 进程,这会造成机器资源吃紧,即便关闭 AS 开发工具也没用,只能重启机器才会好转


所以这里我推荐,尤其是给使用 AS 的朋友推荐:在本地创建 Gradle 环境,统一管理 Gradle 构建工具,避免出现多版本同时运行的问题。AS 本身就很吃内存了,每一个 Daemon 构建进程起码都是 512M 内存起步的,多来几个 Daemon 进程,我这 8G 的 MAC 真的搂不住




  1. 打开 AS 中 Gradle 配置:




  • gradle-wrapper.properties -- 使用 wrapper 也就是 AS 来管理 Gradle
  • Specifiled location -- 使用本地文件,也就是我们自己管理 Gradle


  1. 在本地解压 Gradle 压缩包,记住路径,下面配 path 需要这样配置后,AS 会忽略 gradle-wrapper.properties 文件

4. 配置 path


这里只说 MAC 环境



  1. open -e .bash_profile 打开配置文件
  2. 添加 GRADLE_HOMEPATH

export GRADLE_HOME=/Users/zbzbgo/gradle/gradle-6.6.1
export PATH=${PATH}:/Users/zbzbgo/gradle/gradle-6.6.1/bin

----------------官方写法如下--------------------------------

export GRADLE_HOME=/Users/zbzbgo/gradle/gradle-6.6.1
export PATH=$PATH:$GRADLE_HOME/bin
复制代码


  1. source .bash_profile 重置配置文件,以便新 path 生效
  2. open -e ~/.zshrc 打开另一个配置
  3. 在最后一行添加 source ~/.bash_profile
  4. source ~/.zshrc 重置配置文件

配置 zshrc 是因为有的机器 bash_profile 配置不管用,添加这个就行了


5. 测试 Gradle 安装是否成功


运行 gradle --version,出现版本号则 Gradle 配置成功


6. 执行一次 Gradle 命令


学习新语言我们都喜欢来一次 hello world,这里我们也来一次


随便创建一个文件夹,在其中创建一个文件,以.gradle结尾,使用 text 编辑器打开,输入:


println("hello world!")
复制代码

然后 gradle xxx.gradle 执行该文件



OK,成功,大家体验一下,groovy 是种语言,gradle 是种构建工具,可以编译 .gradle 文件

Gradle init 初始化命令


我们平时都是用 AS 开发的,AS 创建 Android 项目时默认就会把 Gradle 相关文件都创建出来。其实 Gradle 和 git 一样,也提供了 init 初始化方法,创建相关文件


运行 init 命令要选择一些参数,其过程如下:



  1. 创建一个文件夹,cd 到该目录,执行 gradle init 命令
  2. 命令行提示选择项目模板
  3. 命令行提示选择开发语言
  4. 命令行提示选择脚本语言
  5. 输入工程名
  6. 输入资源名



了解 Gradle Wrapper 文件

上面虽然说了用 AS 开发我们最好使用本地 Gradle 文件的方式统一配置、管理 Gradle 构建工具,但是 AS Android 项目中的 Wrapper 文件夹的内容还是有必要了解一下的,这可以加深我们对 Gradle 下载、管理的了解



Gradle Wrapper 文件的作用就是可以让你的电脑在不安装配置 Gradle 环境的前提下运行 Gradle 项目,你的机器要是没有配 Gradle 环境,那么你 clone gradle 项目下来,执行 init 命令,会根据 gradle-wrapper.properties 文件中声明的 gradle URL 远程路径去下载 gradle 构建工具,cd 进该项目



  • gradle -v --> linux 平台命令
  • gradlew -v --> window 平台命令

然后就可以在项目目录下运行 gradle 命令了,不过还是推荐大家在机器配置统一的 Gradle 环境



  • gradlew --> linux 平台脚本
  • gradlew.bat --> window 平台脚本
  • gradle-wrapper.jar --> Gradle 下载、管理相关代码
  • gradle-wrapper.properties --> Gradle 下载、管理配置参数

gradle-wrapper.properties 文件中参数详解:



  • distributionUrl --> Gradle 压缩包下载地址
  • zipStoreBase --> 本机存放 Gradle 压缩包主地址
  • zipStorePath --> 本机存放 Gradle 压缩包主路径

    • Gradle 压缩包完整的路径是 zipStoreBase + zipStorePath


  • distributionBase --> 本机 Gradle 压缩包解压后主地址
  • distributionPath --> 本机 Gradle 压缩包解压后路径

    • Gradle 解压完整的路径是 distributionBase + distributionPath
    • distributionBase 的路径是环境 path 中 GRADLE_USER_HOME 的地址
    • Windows:C:/用户/你电脑登录的用户名/.gradle/
    • MAC:~/.gradle/
    • 你 MAC 要是配了 Gradle 环境变量,distributionBase 就是你自己解压缩的 gradle 路径



这几个地址还是要搞清楚的~

作者:前行的乌龟
链接:https://juejin.cn/post/6888977881679495175
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1 个评论

写的很好,很全面

要回复文章请先登录注册