我建议同时运行所有 3 种技术以及一些 android gradle 插件 dexOptions:
我的 gradle.properties 文件如下:
org.gradle.daemon=true
org.gradle.jvmargs=-Djava.awt.headless=true -Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
app/build.gradle 文件中也有 dexOptions:
dexOptions {
incremental true
javaMaxHeapSize "4096M"
jumboMode true
maxProcessCount 8
preDexLibraries false
threadCount 8
}
您可以为您的系统调整这些值。以下是有关这些选项的更多信息:
dexInProcess - 将 dx 编译器作为单独的进程运行还是在 Gradle 守护进程 JVM 中运行。
javaMaxHeapSize - 调用 dx 时指定 -Xmx 值。示例值为“2048m”。
jumboMode - 在 dx (--force-jumbo) 中启用 jumbo 模式。
maxProcessCount - 可用于 dex 的最大并发进程数。默认为 4。
preDexLibraries - 是否预 dex 库。这可以改进增量构建,但干净的构建可能会更慢。
threadCount - 运行 dx 时使用的线程数。默认为 4。