我正在尝试设置DEX任务可以在基于gradle的Android项目中使用的最大内存,但无法找到任何选项来执行此操作。
我这样做的动机是因为dex
有时会占用大量内存,以至于我的计算机开始交换并在几分钟内完全没有响应(因此我宁愿看到任务失败,然后释放更多资源并重试)
在我的gradle.properties
我org.gradle.jvmargs="-Xmx300m"
限制了Gradle本身使用的内存,但当Gradle启动dx时,它始终使用-Xmx1024
。
那么如何让Gradle限制dx使用的内存?
答案 0 :(得分:14)
在build.gradle脚本中,将dexOptions.javaMaxHeapSize配置设置为您需要的任何值:
android {
//snip
//add this into your existing 'android' block
dexOptions {
javaMaxHeapSize "4g"
}
//snip
}