Как ограничить использование памяти DEX

Я пытаюсь установить максимальную память, которую задача DEX может использовать в проекте Android на основе gradle, но не может найти никакой возможности для этого.

Моя мотивация для этого заключается в том, что поскольку dex иногда занимает так много памяти, что мой компьютер начинает заменять и полностью перестает отвечать на несколько минут (поэтому я предпочел бы, чтобы задача завершилась неудачей, а затем освободить еще несколько ресурсов и повторить попытку)

В моем gradle.properties у меня есть org.gradle.jvmargs="-Xmx300m", который ограничивает память, используемую самим Gradle, но когда Gradle начинается dx, он всегда использует -Xmx1024.

Итак, как я могу сделать Gradle ограничение памяти, используемой dx?

Ответ 1

В вашем build.gradle script установите конфигурацию dexOptions.javaMaxHeapSize для любого значения, которое вам нужно:

android {
//snip
//add this into your existing 'android' block
    dexOptions {
        javaMaxHeapSize "4g"
    }
//snip
}

Источник