2015-07-01 78 views
2

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

每次我做一个单一的变化和重新构建/运行需要花费约1分钟与28GB RAM中的i740秒

我已经尝试了许多事情,以改善编译时间,包括在此提示文章,但我没有看到一个重大的变化。 https://medium.com/@erikhellman/boosting-the-performance-for-gradle-in-your-android-projects-6d5f9e4580b6

它看起来像遍历所有的模块,看看他们是否是最新的,这需要时间,但也编译和dexing。

有没有人有如何改善这个想法?

我使用的摇篮插件1.2.3,编译工具22.0.1和TaskWrapper 2.4

回答

0

如果你并不需要所有的依赖更新每次运行你的项目的时候,我建议你gradle这个配置为脱机工作。您可以在设置窗口中的Gradle选项卡中的Android Studio中执行此操作。我希望这可以帮助你。

1

下一个正式计划发布的Gradle插件是1.3。如果您从Google I/O https://youtu.be/f7ihSQ44WO0?t=4m23s的演示文稿中观看关于Gradle的演讲,Google就会大幅提升性能。 如果这些声明被证明是真实的,那么我相信这将是减少Android项目构建时间的最佳机会。

目前,您可以使用最新的测试版本 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/

3

我被同样的问题,痛苦过,但由于谷歌在那里最后我宣布/ O,有一个大的改善在Gradle和android studio中的表现一样。

但对我来说,这个技巧帮助我很多,并减少了超过50%的时间。

使Gradle离线运行。 enter image description here

+0

这对我来说很神奇。非常感激。 –