如何在Android Studio中加速Gradle构建过程

7

我是Android开发的新手,我的Gradle构建过程需要很长时间。等待gradle构建对我来说非常烦人。如果有帮助,将不胜感激。先谢谢了。


也许这个问题的答案可以帮到您:https://dev59.com/mGQm5IYBdhLWcg3w0Bm5?rq=1 - l7r7
你使用的AS版本是什么? - Kosh
这个链接有效 https://hackernoon.com/speed-up-gradle-build-in-android-studio-80a5f74ac9ed - Atul Bhardwaj
3个回答

9

这里有一些我提到的解决方案:

技巧#1

  1. 打开gradle.properties文件

  2. 添加以下行

org.gradle.daemon=true

技巧#2

  1. 打开gradle.properties文件

  2. 添加以下行

    org.gradle.parallel=true

技巧#3

  1. 打开gradle.properties文件

  2. 添加以下行

    org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

技巧#4
还有许多其他优化gradle构建速度的技巧。如果你仍然遇到问题,我建议你使用命令行中的gradle。 更多详情,请看与开发人员的G+讨论


谢谢,技巧4在这些中效果最好。嗯,还算满意 :) - user6817222
对于问题#3,请确保分析您的系统有多少内存。如果您只有2G内存,那么这对您的系统来说是不够高效的。 - Ray Hunter
是的,Android Studio的最低要求是2 GB RAM,推荐使用8 GB :). 少于8GB肯定会运行得更慢。 - Ngima Sherpa
你能解释一下技巧1、2和3具体是做什么的吗? - Wijay Sharma

6

我建议同时运行这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中启用jumbo模式(--force-jumbo)。

maxProcessCount - 可以用于dex的并发进程的最大数量。默认为4。

preDexLibraries - 是否预先对库进行预编译。这可以提高增量构建的速度,但清除构建可能会变慢。

threadCount - 运行dx时要使用的线程数。默认为4。


0

我无意中发现了如何将构建速度提高2倍的方法。也许这个问题将来会被修复,但现在它像钟表一样运作良好。 你所需要做的就是隐藏你的工作室(Mac:cmd+H或者cmd+R,Windows:win+D)。 我目前已经测试了超过100次(使用Android Studio 2.3),没有任何异常情况出现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接