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

时间:2024-03-20 20:12:27

1.起因

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

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

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

2.解决

所以我通过设置Android studio中的gradle路径来修改了gradle wrapper下载路径,修改方法如下图:
关于Android studio 中 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路径如下:
关于Android studio 中 gradle wrapper 下载路径的问题
可以看到,如果未设置环境变量”GRADLE_USER_HOME”则使用用户目录下的.gradle文件夹。
既然发现问题所在那就简单了,增加系统环境变量”GRADLE_USER_HOME”,值设置为跟Android studio中的gradle service directory path相同即可,这样,无论是通过Android studio执行构建,还是通过命令行执行gradlew构建,都会使用同一份wrapper,不会重复下载代码了。