Android Studio中缓慢增量编译

问题描述 投票:4回答:1

我经历了许多措施去完善我们的编译系统(those和更多)。后来,我读到这official blogpost是声称,建造时间提高5到10倍与增量构建在摇篮3.4。事实上,我们的增量编译没有工作,因为我们使用annotationProcessors。由于摇篮4.7 annotationProcessors可以opt-in增量构建是兼容的。我经历了许多依赖更新去激活增量构建与annotationProcessors that support it

通过各种配置和改进我能够从30岁〜来〜19S减少我们的建设时间(预建)。基于该incremental build blogpost我是假设,我可以进一步降低建造时间到〜5秒。

不幸的是,增量构建它只来到了〜15秒。使用--profile--info我试图进一步诊断问题。只有exctracting的gradle这个任务compileDevDebugJavaWithJavac它表明编译步骤从〜16s至〜12S去了。

476班的渐进式编译在12.51秒完成。

在我看来,这是一个单行的变化太慢了,它不近地反映摇篮声称什么增量构建。我特别想改变与一些依赖文件,我知道,公共常量触发全面重建。还有什么可以引起增量构建了只有一个文件是慢?

我也试图使实验功能

android.enableSeparateAnnotationProcessing=true

它不工作,我的构建分裂成两个编译步骤

compileDevDebugJavaWithJavac 6.777s

processDevDebugAnnotationsWithJavac 6.104s

我希望,在结合

org.gradle.parallel=true

这两项任务可能会并行,几乎一半的建造时间运行。但很显然,并行处理不会在这里工作,或不是吗?

还有什么可以做,以增加非常小的变化生成时间?

编辑:我发现的主要问题是,我们有太多的类依赖性,它总是触发476类(参见this问题)的编制。因为我不希望在我们的遗留代码来解决够班的依赖关系:我的问题仍然有效。可以在项目可enableSeparateAnnotationProcessing可以并行或有任何其他配置?

android gradle android-gradle android-studio-3.0 incremental-build
1个回答
1
投票

而不是担心增量方面,也许还有优化你可以加快发展的基础之上。你使用ProGuard?如果是这样,禁用它为您的开发/分期建立和发布版本只用它。

如果你已经做但─我不知道什么建议短期颠簸了机器规格的。

© www.soinside.com 2019 - 2024. All rights reserved.