15

我刚刚想到使用RAMdisk来编译结果1

如何在 Gradle 中使用 RAMdisk?

我想值得将文件夹移动.gradlebuildRAMdisk 中。

4

2 回答 2

12

为了完整起见,以下是我在 Ubuntu 14.04 上配置 Gradle(以及 Android Studio)以始终构建到 RAM 磁盘的方式:

~/.bashrc的最后包含这一行:

. ~/bin/mkramdisk # Setup personal RAM disk on login.

~/bin/mkramdisk下面列出了我的。我想你可以省略这个脚本并/dev/shm/${System.env.USER}/gradle-builds在下面的步骤中简单地使用 eg,但我也喜欢有一个通用的 RAM 磁盘用于其他目的,例如我将它用于我的$TMP所以这里是:

# Setup personal RAM disk.

# This script should be sourced, hence the missing +x flag.
# Source it from e.g. from ~/.bashrc or run it from crontab
# at @reboot event (doesn't work with encrypted homedir btw.)

export RAMDISK=$HOME/tmp/ramdisk
if [ ! -d $RAMDISK ]; then
        [ -d /dev/shm/$USER-ramdisk ] || install -vd /dev/shm/$USER-ramdisk -o $USER -m 700
        [ -d ~/tmp ] || mkdir -v ~/tmp
        [ -L ~/tmp/ramdisk ] || ln -vs /dev/shm/$USER-ramdisk ~/tmp/ramdisk
fi

# Use personal RAM disk for $TMP.
export TMP=$RAMDISK

Macintosh 用户注意:您似乎可以修改mkramdisk为包含命令以使其在您的系统上工作。

最后回答这个问题,我~/.gradle/init.gradle是这样的:

println "Loaded personal ~/.gradle/init.gradle"

gradle.projectsLoaded {
    rootProject.allprojects {
        buildDir = "${System.env.RAMDISK}/gradle-build/${rootProject.name}/${project.name}"
        println "BUILDING TO RAMDISK: buildDir=$buildDir"
    }
}

println删除您认为合适的调试语句。

于 2016-04-19T09:46:50.380 回答
8

在根build.gradle

allprojects {
    buildDir = "/path/to/build/${rootProject.name}/${project.name}"
}

也可以看看

和文档https://gradle.org/docs/current/userguide/writing_build_scripts.html

于 2015-03-18T07:58:59.290 回答