碎碎念
随便说点啥,可直接跳过
已经好久不写随笔了(虽然我的随笔并没有什么含金量),上一次写还是2025-11-10
之前写随笔写博客记录,主要是为了自己后续工作方便,遇到问题随时回来查之前写过的文章记过的笔记,同时若能帮助到别人也很高兴,现在大 AI 时代几乎没有什么是 AI 解决不了的,遇到什么问题随口一问就解决了,所以好久没有记录一些东西了
大 AI 时代的编码工具诸如 Claude Code、Codex、Open Code、Cursor IDE 等等能让很多没有编码基础的人可以完成一款程序的开发,而我这个 Java CRUD 程序员对此也很感兴趣,用自己从来没学过接触过的语言,跟 AI 聊聊天就能开发应用还是很有成就感的
我除了是一名 Java CRUD 程序员,同时我还对易经占卜比较感兴趣(同样是个小菜鸟),所以我最近借助 AI 使用原生安卓开发了一款无常六爻排盘APP ,软件名称以我朋友的名字命名,他在我六爻学习中提供了很大的帮助,感兴趣的可以去 Github 或者 Gitee 看一看
而就在我开发这个应用的时候,我突然发现最难的一步居然是搭建开发环境,没想到曾经用来调侃的 "精通 xxx 的安装于卸载" 这一玩笑话,在今天居然真的有了含金量,所以我简单了解了一下关于 Gradle 的环境配置,并在这里做出记录,本文主要目的是扫盲,希望能帮到更多新人,文章写的很浅很啰嗦大佬见笑
回顾 Maven
我作为 Java 程序员就站在 Java 的角度开始讲,身为 Java 开发程序员可能没用过 Gradle,但肯定用过 Maven,这里先简单回顾一下 Maven 环境是怎么搭建的
现在主流的用法都是访问 Apache Maven 官方网站,下载他们提供的编译好的二进制压缩包,解压安装到本地磁盘后,配置好JAVA_HOME和M2_HOME两个环境变量,然后编辑conf/settings.xml配置文件设置好本地 maven 仓库和国内镜像加速下载,maven 环境就搭建完成了


后面在项目中正常使用 mvn 命令就 OK 了,这也是大多数 Java 开发者正在使用的方法
Gradle 与 Maven 一样都是项目构建和依赖管理工具,他们应该都是一样的才对,所谓一通百通,然而我恰恰就是抱着这种思维,在后面编写安卓项目的时候被 Gradle 环境绕的稀里糊涂
Gradle 环境差异说明
Gradle 与 Maven 其中一大不同点就是环境的搭建,大多数使用 Maven 的开发者都养成了先配好环境再去项目中使用的习惯,而 Gradle 的主流用法"倒反天罡",他是将版本号以及 Gradle 本身的下载地址内置在项目中,当首次接手某个 Gradle 项目时会由项目主动去下载 Gradle 为你配置环境,所以我自行研究效仿 Maven 配置的 Gradle 没有用武之地

该项目只用自己配好的 Gradle,而且哪怕你本地已经部署好 Gradle,甚至版本号一致,如果不是从这个地址下载的仍然会重新触发一次下载,这是 Gradle 官方的保护策略,会基于下载地址计算 hash 值将下载好的 Gradle 用 hash 命名,所以哪怕版本一致也需要重新下载,防止因环境导致项目出现莫名奇妙的错误

Gradle 之所以选择这种用法,除了安全稳定之外还有一个原因,就是 Gradle 每个版本之间并没有很好的兼容,他做不到像 Maven 一样全局配置后在每个项目中都能使用,如果用版本不合适的 Gradle 去执行某个项目很有可能会遇到问题
其实 Maven 也支持这种用法,虽然并没有多少人用,访问 Spring Initializr 网站选择 Maven 构建工具,在线下载一个最新版的 SpringBoot 空项目,打开它后会发现和 Gradle 十分相似项目结构


Maven 也支持这种 wrapper 用法,但几乎没有项目使用它,大多数人创建好项目后第一件事就是把这些用不上的文件删掉,因为 Maven 不同版本之间的兼容性非常好,全局安装一个 Maven 后运行任意一个项目而不报错
Gradle 环境搭建
配置环境变量
其实正常来说当使用 IDE(例如 Android Studio)创建或打开项目时会自动触发 Gradle 下载,他自己就能把环境配好,不需要手动干预就能使用,如果不在乎细节的话其实不用搭建环境,直接去用就行了
只不过我是个强迫症,我不喜欢这种莫名其妙就能用的感觉,也不喜欢他往我的 C 盘扔文件,所以我简单研究了一下环境搭建的方法,想要搭建 Gradle 环境其实非常简单,在创建、打开 Gradle 项目之前,手动在环境变量中添加GRADLE_USER_HOME环境变量就可以了,环境变量的值是期望的 Gradle 安装目录,目录下不需要有任何文件,空目录就可以了
添加好环境变量后环境就配完了,就这么简单,因为不配置环境变量的话他会默认往C盘用户目录下载文件,由于 Gradle 是打开项目后主动去下载的,所以配好环境变量后项目就会按照约定下载
Gradle 同 Maven 一样是需要下载依赖,Gradle 的依赖默认下载至安装目录下的 caches/modules-2 目录中,是随着 Gradle 安装目录的改变而改变,所以通常不用单独配置本地依赖仓库地址
这里有一点需要特殊说明,如果你和我一样使用 Android Studio 开发安卓项目,Android Studio 则不会使用GRADLE_USER_HOME环境变量,仍然会下载到用户目录下,所以需要自行在在 IDE 中调整一下设置

Android Studio 需要分别调整Settings设置和New Projects Setup新项目设置中,调整 Gradle 的安装目录


其他 IDE 可能也会有类似问题,需要自行查询资料解决
配置国内加速地址
Gradle 环境搭建就像上面说的那么简单,因为很多配置都是在项目中配置的
就拿我写的 Android 项目举例,Gradle 由项目进行下载,下载地址会在gradle/wrapper/gradle-wrapper.properties文件中配置,那么为了优化国内网络的使用体验这里建议换成国内镜像加速地址,例如我这里就换成了腾讯云下载地址,这样在其他电脑上开发或者和其他人一起开发时,就不会遇到 Gradle 下载失败的问题了
txt
https\://mirrors.cloud.tencent.com/gradle/gradle-9.3.1-bin.zip

Gradle 下载没问题了,之后就是 Gradle 的依赖下载地址,同样是拿我的 Android 项目举例,编辑settings.gradle.kts文件,分别在pluginManagement和dependencyResolutionManagement标签下配置国内镜像加速地址,这里我分别配置了腾讯和阿里云的镜像,他们会按照编写顺序依次查找下载依赖
txt
https://mirrors.cloud.tencent.com/nexus/repository/gradle-plugins/
https://maven.aliyun.com/repository/gradle-plugin
---
https://mirrors.cloud.tencent.com/nexus/repository/maven-public/
https://maven.aliyun.com/repository/public
https://maven.aliyun.com/repository/google

关于依赖下载,可以在我的配置文件中看到mavenLocal(),这个选项意味着如果本地已经配置并使用过 Maven,当 Gradle 下载依赖时会优先获取 Maven 的本地仓库中已存在的依赖,当本地没有时才会联网下载新依赖
Maven 环境没问题的话 Gradle 是可以自己获取到本地 Maven 仓库地址的,如果处于某些原因无法获取本地 Maven 仓库地址,可以前往 Gradle 安装目录创建gradle.properties文件,在配置文件中手动指定本地 Maven 仓库地址

就写到这,我也只是新人,Gradle 的用法还不会,暂时记录一下环境搭建配置的过程吧,后面如果发现新东西会随时补充