我如何绕过 Android 的 jack 编译器给出 Java 堆 space 异常?
How can I get around Android's jack compiler giving Java heap space exceptions?
我最近尝试添加 Apache Commons 的数学库,但 运行 在编译过程中出现以下异常:
Error:Execution failed for task ':app:transformClassesWithPreJackPackagedLibrariesForDebug'. com.android.sched.scheduler.RunnerProcessException: Error during 'CodeItemBuilder' runner on 'static void org.apache.commons.math3.util.FastMathLiteralArrays.() (FastMathLiteralArrays.java:28-5102)': Java heap space
我觉得问题和这些问题遇到的问题类似:
如异常所述,可用堆存在问题 space。要增加分配给 Jack 编译器的堆 space 大小,您必须 运行 在进程外,然后应用适当的 dex 选项:
defaultConfig {
jackOptions {
enabled true
jackInProcess false
}
dexOptions {
javaMaxHeapSize "2048M"
}
}
通过这些,我能够克服编译错误。
我最近尝试添加 Apache Commons 的数学库,但 运行 在编译过程中出现以下异常:
Error:Execution failed for task ':app:transformClassesWithPreJackPackagedLibrariesForDebug'. com.android.sched.scheduler.RunnerProcessException: Error during 'CodeItemBuilder' runner on 'static void org.apache.commons.math3.util.FastMathLiteralArrays.() (FastMathLiteralArrays.java:28-5102)': Java heap space
我觉得问题和这些问题遇到的问题类似:
如异常所述,可用堆存在问题 space。要增加分配给 Jack 编译器的堆 space 大小,您必须 运行 在进程外,然后应用适当的 dex 选项:
defaultConfig {
jackOptions {
enabled true
jackInProcess false
}
dexOptions {
javaMaxHeapSize "2048M"
}
}
通过这些,我能够克服编译错误。