关于Android studio 中 gradle wrapper 下载路径的问题

1.起因

Android studio默认的gradle wrapper下载路径是在C盘用户目录下的.gradle文件夹。
在命令行执行gradlew命令的时候所用的gradle wrapper下载路径也是在C盘用户目录下的.gradle文件夹。

好了,这本身并没有什么问题,如果你的C盘空间足够大的话。

而我的C盘空间严重不足!!!

2.解决

所以我通过设置Android studio中的gradle路径来修改了gradle wrapper下载路径,修改方法如下图:
这里写图片描述
这样Android studio中所用的gradle wrapper 都会下载到该路径下。
但是后来我发现在命令行执行gradlew的时候并没有使用在Android studio中设置的路径,仍然使用C盘用户目录下的.gradle文件夹。这样就会在用户目录下和Android studio设置的gradle路径中存在两份相同的wrapper。这对程序员来说现实是不可忍受的。
然后通过阅读gradlew.bat源码,发现她调用了gradlew-wrapper.jar 然后通过通过阅读gradlew-wrapper.jar的源码发现,执行gradlew.bat获取gradle wrapper路径如下:
这里写图片描述
可以看到,如果未设置环境变量”GRADLE_USER_HOME”则使用用户目录下的.gradle文件夹。
既然发现问题所在那就简单了,增加系统环境变量”GRADLE_USER_HOME”,值设置为跟Android studio中的gradle service directory path相同即可,这样,无论是通过Android studio执行构建,还是通过命令行执行gradlew构建,都会使用同一份wrapper,不会重复下载代码了。

### 解决 Android StudioGradle 下载失败 (中文路径) 对于 Android Studio 中遇到的 Gradle 下载失败问题,尤其是在路径包含中文字符的情况下,可以通过调整 `gradle-wrapper.properties` 文件中的分发 URL 来解决这个问题。具体来说,在项目的 `gradle/wrapper/gradle-wrapper.properties` 文件中更改默认的 Gradle 发布服务器地址为国内镜像站点[^2]。 #### 修改 `distributionUrl` 将原有的 `distributionUrl=https\://services.gradle.org/distributions/...` 替换为中国境内的镜像源链接,比如阿里云或腾讯云提供的服务: ```properties distributionUrl=https\://mirrors.cloud.tencent.com/gradle/ ``` 这一步骤能够显著提高下载速度并减少因网络不稳定造成的错误率[^4]。 #### 设置环境变量 如果本地存在含有汉字的工作目录或者用户资料夹名称,则建议设置 GRADLE_USER_HOME 环境变量指向不含任何特殊字符的新位置。这样做的好处是可以避开可能由操作系统处理非 ASCII 字符集带来的潜在麻烦[^5]。 1. 打开系统属性 -> 高级系统设置 -> 环境变量; 2. 新建一个名为 `GRADLE_USER_HOME` 的用户级别变量,并将其值设为一个新的、不带中文或其他复杂符号的目标文件夹,例如 `D:\GradleCache`; 3. 应用更改后重启 IDE 使新配置生效; 通过上述方法可以有效规避由于路径中含有中文而导致的各种兼容性和性能方面的问题。 #### 使用预下载Gradle 版本 另外一种可行的办法是从官方渠道预先获取所需的 Gradle 压缩包,解压至指定缓存目录下。按照文档指示操作,即把已准备好的 `.zip` 文件放置到类似于 `%USERPROFILE%/.gradle/wrapper/dists/{version}/` 的结构化存储空间内[^3]。 这样做不仅加快了初次构建的速度,还避免了在线资源不可达的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值