我是Android开发的新手,我的Gradle构建过程需要很长时间。等待gradle构建对我来说非常烦人。如果有帮助,将不胜感激。先谢谢了。
我是Android开发的新手,我的Gradle构建过程需要很长时间。等待gradle构建对我来说非常烦人。如果有帮助,将不胜感激。先谢谢了。
这里有一些我提到的解决方案:
技巧#1
打开gradle.properties文件
添加以下行
org.gradle.daemon=true
技巧#2
打开gradle.properties文件
添加以下行
org.gradle.parallel=true
技巧#3
打开gradle.properties文件
添加以下行
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
技巧#4
还有许多其他优化gradle构建速度的技巧。如果你仍然遇到问题,我建议你使用命令行中的gradle。
更多详情,请看与开发人员的G+讨论。
我建议同时运行这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
}
javaMaxHeapSize - 在调用dx时指定-Xmx值。示例值为“2048m”。
jumboMode - 在dx中启用jumbo模式(--force-jumbo)。
maxProcessCount - 可以用于dex的并发进程的最大数量。默认为4。
preDexLibraries - 是否预先对库进行预编译。这可以提高增量构建的速度,但清除构建可能会变慢。
threadCount - 运行dx时要使用的线程数。默认为4。
我无意中发现了如何将构建速度提高2倍的方法。也许这个问题将来会被修复,但现在它像钟表一样运作良好。 你所需要做的就是隐藏你的工作室(Mac:cmd+H或者cmd+R,Windows:win+D)。 我目前已经测试了超过100次(使用Android Studio 2.3),没有任何异常情况出现。