【问题标题】:Gradle cache directory location in Android Studio 2Android Studio 2 中的 Gradle 缓存目录位置
【发布时间】:2016-04-18 11:21:27
【问题描述】:

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

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

我目前正在上一门 Android 编程课程,当需要上传项目时,这些缓存目录变得非常庞大。因此,不必删除目录,我只想在项目位置之外创建它。

【问题讨论】:

    标签: android android-studio gradle android-gradle-plugin android-studio-2.0


    【解决方案1】:

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

    WINDOWS_DRIVE:\Users\YOUR_USER.gradle\caches

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

    如果您想从他们的仓库重新加载一些库,那么您应该在此处删除文件。 lint 也使用这里的缓存来通知您有关库的新版本,并重新加载库。

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

    【讨论】:

      【解决方案2】:

      使用 --project-cache-dir path/to/where/you/want/it 选项启动 gradle

      【讨论】:

      • 我究竟如何在 Android Studio 中做到这一点?我应该在 gradle 文件中的某个位置添加它吗?如果有,是哪一个?
      • 如果您在项目中使用 gradle 包装器(应该)并且将 Android Studio 设置为使用包装器(我认为是默认设置),您将需要编辑包装器脚本 gradlew 和 @ 987654323@.
      • 嗯好的,所以我需要为每个新项目都这样做?是否没有全局设置或环境变量使所有项目使用相同的位置(每个项目都有单独的子文件夹)?
      • 至少我不知道。
      【解决方案3】:

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

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

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

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

      综上所述,.gradle缓存目录被移出项目目录结构,在使用新服务压缩目录文件夹时可以轻松排除。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-20
        • 1970-01-01
        • 1970-01-01
        • 2016-01-29
        • 2015-05-04
        • 1970-01-01
        • 2015-10-27
        • 2013-10-16
        相关资源
        最近更新 更多