Gradle Android Studio 2 中的缓存目录位置

Gradle cache directory location in Android Studio 2

对于我创建的每个 Android 项目,在项目的根目录中都有一个 .gradle 文件夹。据我了解,这仅包含 Gradle 使用的缓存文件,并且可以由 Android Studio 重新创建?

我想知道是否有办法让 Android Studio 在另一个位置创建这些缓存目录,比如 /Temp/GradleCaches/<projectname>/.gradle

我目前正在学习 Android 编程课程,当需要上传项目时,这些缓存目录会变得非常庞大。因此,我不想删除目录,而是希望在项目位置之外创建它。

刚开始 gradle 选择 --project-cache-dir path/to/where/you/want/it

我无法真正让 Björn Kautler 提出的解决方案发挥作用,无论如何,这意味着我提交给考官的项目将指向他们系统上的(很可能)无效目录。

相反,我只是在我的项目目录中创建了一个名为 .gradle 的符号链接,它指向 /Temp/GradleBuilds/cache/<project-name>/.gradle。这使缓存目录脱离了项目路径。

下一个问题仍然是,当使用 OSx "Compress <folder-name>..." 压缩目录时,它将按原样包含符号链接,即指向收件人上的(很可能)无效目录系统。所以为了排除 .gradle 目录,我使用 Automator 创建了一个 OSx 服务,它使用命令行实用程序 zip 压缩文件夹,排除 .gradle目录:

System preferences -> Keyboard -> Shortcuts -> Services -> Files and folders 下激活它会使它出现在 Finder 的右键单击菜单中(如果您有很多服务,可能会出现在“服务”子菜单中)。

总而言之,.gradle 缓存目录被移出项目目录结构,使用新服务压缩目录文件夹时可以轻松排除。

在 Android Studio 3 (Gradle 3+) 和 Windows 中,它位于目录中:

WINDOWS_DRIVE:\Users\YOUR_USER.gradle\caches

注意:不要删除整个文件夹。只需搜索您的特定库并删除那个。

如果您有一些库要从其存储库中重新加载,那么您应该在此处删除文件。这里的缓存也被 lint 用来通知你库的新版本,并重新加载库。

这是我遇到的问题: 我错误地将新版本(.aar 文件)上传到 Artifactory(repo),但是当我删除它时,gradle 仍然在我的项目中通知我有关新版本的信息。