首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分级--利用RAMdisk

分级--利用RAMdisk
EN

Stack Overflow用户
提问于 2015-03-18 07:06:31
回答 2查看 4.2K关注 0票数 16

我刚刚遇到了使用RAMdisk编译结果1的想法。

如何在Gradle中使用RAMdisk?

我想将.gradlebuild文件夹移到RAMdisk中是值得的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-19 09:46:50

为了完整起见,下面是我如何将Ubuntu14.04上的Gradle (以及Android Studio)配置为始终构建为RAM磁盘:

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

代码语言:javascript
复制
. ~/bin/mkramdisk # Setup personal RAM disk on login.

我的~/bin/mkramdisk列在下面。我想您可以省略此脚本,只需在下面的步骤中使用例如/dev/shm/${System.env.USER}/gradle-builds,但我也喜欢将通用RAM磁盘用于其他目的,例如,我将其用于$TMP,如下所示:

代码语言:javascript
复制
# 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以代替包含https://stackoverflow.com/a/23359182/2412477命令,以使其在您的系统上工作。

为了最终回答这个问题,我的~/.gradle/init.gradle是:

代码语言:javascript
复制
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语句。

票数 12
EN

Stack Overflow用户

发布于 2015-03-18 07:58:59

build.gradle

代码语言:javascript
复制
allprojects {
    buildDir = "/path/to/build/${rootProject.name}/${project.name}"
}

另请参阅

和docs scripts.html

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29116000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档