【问题标题】:Gradle build time too slowGradle 构建时间太慢
【发布时间】:2015-07-01 18:29:55
【问题描述】:

我有一个 Android 项目,它有大约 15 个模块,每个模块都是一个单独的 GitHub 项目,其中一些模块具有相互依赖关系,它基本上是一个示例客户端,其中包含一个包含 14 个组件(模块)的库。

每次我进行一次更改并重新构建/运行时,在具有 28GB 内存的 i7 上大约需要 1 分 40 秒

我尝试了很多方法来改善构建时间,包括本文中的提示,但我没有看到明显的变化。 https://medium.com/@erikhellman/boosting-the-performance-for-gradle-in-your-android-projects-6d5f9e4580b6

看起来它会遍历所有模块并查看它们是否是最新的,这需要时间,而且还需要编译和 dexing。

有没有人知道如何改进这一点?

我正在使用 Gradle 插件 1.2.3、BuildTools 22.0.1 和 TaskWrapper 2.4

【问题讨论】:

    标签: android android-studio gradle


    【解决方案1】:

    我之前也遇到过同样的问题,但正如谷歌在上次 I/O 中宣布的那样,Gradle 和 android studio 的共同性能有了很大的提升。

    但对我来说,这一个技巧对我帮助很大,并且将时间减少了 50% 以上。

    让 Gradle 离线运行。

    【讨论】:

      【解决方案2】:

      Gradle 插件的下一个官方计划版本是 1.3。如果您在 Google I/O https://youtu.be/f7ihSQ44WO0?t=4m23s 上观看有关 gradle 的演讲,那么 Google 声称性能有了很大的改进。 如果这些说法被证明是正确的,那么我相信这将是缩短 Android 项目构建时间的最佳机会。

      目前您可以使用最新的 beta 版本,即 1.3.0-beta4 将其添加到您的 build.gradle 文件中。示例如下:

      // Top-level build file where you can add configuration options common to all sub-projects/modules.
      buildscript {
          repositories {
              jcenter()
          }
          dependencies {
              classpath 'com.android.tools.build:gradle:1.3.0-beta4'
          }
      }
      
      allprojects {
          repositories {
              jcenter()
          }
      }
      

      可以在 jcenter https://jcenter.bintray.com/com/android/tools/build/gradle/检查任何新的 beta 版本

      【讨论】:

        【解决方案3】:

        如果您不需要每次运行项目时都更新所有依赖项,我建议您将 gradle 配置为离线工作。您可以在 Android Studio 的“设置”窗口的 Gradle 选项卡中执行此操作。希望对你有帮助。

        【讨论】:

          猜你喜欢
          • 2015-06-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-17
          • 2023-03-05
          • 2016-02-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多