Gradle - 使用RAMdisk

Pau*_*est 13 ramdisk gradle

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

如何在Gradle中使用RAMdisk?

我想值得移动.gradlebuild文件夹到RAMdisk.

Ste*_*sen 8

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

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

. ~/bin/mkramdisk # Setup personal RAM disk on login.
Run Code Online (Sandbox Code Playgroud)

~/bin/mkramdisk的名单如下.我想你可以省略这个脚本,只需/dev/shm/${System.env.USER}/gradle-builds在下面的步骤中使用,但我喜欢有一般的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
export TMP=$RAMDISK
Run Code Online (Sandbox Code Playgroud)

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

~/.gradle/init.gradle是这个(删除println你认为合适的调试语句):

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

gradle.projectsLoaded {
    rootProject.allprojects {
        buildDir = "${System.env.RAMDISK}/gradle-build/${rootProject.name}/${project.name}"
        println "GOT RAMDISK? buildDir=$buildDir"
    }
}
Run Code Online (Sandbox Code Playgroud)