Как я могу обойти Android-компилятор, предоставляющий исключения Java кучи пространства?
Недавно я попытался добавить библиотеку Apache Commons' Math, но во время компиляции столкнулся со следующим исключением:
Ошибка: не удалось выполнить задачу ': приложение:transformClassesWithPreJackPackagedLibrariesForDebug'. com.android.sched.scheduler.RunnerProcessException: ошибка во время выполнения "CodeItemBuilder" в "static void org.apache.commons.math3.util.FastMathLiteralArrays.() (FastMathLiteralArrays.java:28-5102)": пространство кучи Java
Я думаю, что проблема похожа на проблемы, возникающие в следующих вопросах:
Ошибка: не удалось выполнить задачу ': app: transformClassesWithMultidexlistForDebug'. > java.lang.UnsupportedOperationException (без сообщения об ошибке)
Android - ошибка: не удалось выполнить задачу ':app:transformClassesWithDexForRelease'
1 ответ
Как указывает исключение, существует проблема с доступным пространством кучи. Чтобы увеличить размер пространства кучи, выделенного для компилятора Jack, вы должны запуститься вне процесса, а затем применить соответствующий параметр dex:
defaultConfig {
jackOptions {
enabled true
jackInProcess false
}
dexOptions {
javaMaxHeapSize "2048M"
}
}
С их помощью я смог обойти ошибку компиляции.