【问题标题】:How to Speed up Gradle build process in Android Studio如何在 Android Studio 中加快 Gradle 构建过程
【发布时间】:2016-09-10 17:41:26
【问题描述】:

我是 Android 开发新手,我的 Gradle 构建过程需要很长时间。等待 gradle build 对我来说很烦人。任何帮助都是适用的。提前致谢

【问题讨论】:

标签: android android-studio android-gradle-plugin


【解决方案1】:

我已经提到了一些解决方案:

技巧#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+ 上看到 discussion 与开发者一起了解它。

【讨论】:

  • 感谢技巧 4 在这些中效果最好。嗯,很满意:)
  • 对于#3,请确保分析您的系统有多少内存。如果你只有 2g 的内存,那对你的系统来说是没有效率的。
  • 是的,2 GB RAM 是 Android Studio 的最低要求,建议使用 8 GB :)。小于 8GB 肯定会运行更慢
  • 你能解释一下技术 1,2 和 3 的具体作用吗?
【解决方案2】:

我建议同时运行所有 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 模式。

ma​​xProcessCount - 可用于 dex 的最大并发进程数。默认为 4。

preDexLibraries - 是否预 dex 库。这可以改进增量构建,但干净的构建可能会更慢。

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

【讨论】:

    【解决方案3】:

    我只是偶然发现了如何将构建速度提高 2 倍。也许它会在未来得到修复,但现在它就像发条一样工作。 您需要做的就是隐藏您的工作室(对于 mac,cmd + H 或 cmd + R,对于 Windows,win + D)。 我现在用超过 100 个版本(Android Studio 2.3)对其进行了测试,没有例外。

    【讨论】:

      猜你喜欢
      • 2012-03-11
      • 2013-06-23
      • 1970-01-01
      • 2015-06-06
      • 2014-06-15
      • 2023-03-05
      • 2021-05-04
      • 1970-01-01
      相关资源
      最近更新 更多