Pav*_*dka 3 android android-gradle-plugin
Google建议的构建优化之一是dexInProcess
为您的构建启用(请参阅此处):
android {
dexOptions {
dexInProcess = true
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释它实际上做了什么吗?试图搜索官方文档,但没有太多关于这个功能(可能是因为android插件2.0.0仍处于alpha阶段,所以没有完全发布到公众)
从最新的AS版本开始,我想我对这个标志有了更好的理解.以前,DEX步骤发生在一个单独的外部过程中.这个标志的想法是DEX步骤在与构建相同的过程中运行,这使得构建过程更快.
您应该注意的唯一重要的事情是,DEX步骤实际上是内存消耗(记住dexOptions.javaMaxHeapSize "4g"
以前设置的选项吗?),所以既然现在DEX步骤在与构建相同的过程中运行,您需要确保已分配足够的内存到你的JVM.否则,构建将显着减慢甚至抛出OutOfMemoryException.
我建议通过更新jvmargs
您的构建过程4演出gradle.properties
如下:
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Run Code Online (Sandbox Code Playgroud)