Android Studio缓慢增量构建

Android Studio缓慢增量构建,第1张

概述我已经完成了许多步骤来改进我们的构建系统( those及更多).后来,我读到了这篇 official blogpost,声称在Gradle 3.4中使用增量构建,构建时间提高了5-10倍.实际上,我们的增量构建不起作用,因为我们使用了注释处理器.由于Gradle 4.7 annotationProcessors可以使 opt-in与增量构建兼容.我已经通过许多依赖项更新来激活 annotation 我已经完成了许多步骤来改进我们的构建系统( those及更多).后来,我读到了这篇 official blogpost,声称在Gradle 3.4中使用增量构建,构建时间提高了5-10倍.实际上,我们的增量构建不起作用,因为我们使用了注释处理器.由于Gradle 4.7 annotationProcessors可以使 opt-in与增量构建兼容.我已经通过许多依赖项更新来激活 annotationProcessors that support it的增量构建.

通过各种配置和改进,我能够将构建时间(预构建)从大约30秒减少到大约19秒.基于incremental build blogpost,我假设我可以将构建时间进一步缩短到~5s.

不幸的是,随着增量构建,它只下降到〜15s.使用–profile和–info我试图进一步诊断问题.只有exderract gradle任务compileDevDeBUGJavaWithJavac才显示编译步骤从~16s到~12s.

Incremental compilation of 476 classes completed in 12.51 secs.

在我看来,这对于单行更改来说太慢了,并且它几乎没有反映Gradle对增量构建的要求.我特意尝试更改具有少量依赖项的文件,我知道公共常量会触发完全重建.还有什么可以导致只有一个文件的增量构建变得那么慢?

我还尝试启用实验功能

androID.enableSeparateAnnotationProcessing=true

哪个工作并将我的构建分成两个编译步骤

compileDevDeBUGJavaWithJavac 6.777s

processDevDeBUGAnnotationsWithJavac 6.104s

我希望与之相伴

org.gradle.parallel=true

这两个任务可能并行运行,几乎是构建时间的一半.但显然并行处理在这里不起作用,或者它呢?

还有什么办法可以增加非常小的变化的构建时间?

编辑:我发现主要的问题是我们有太多的类依赖,它总是触发476个类的编译(参见this问题).因为我不期望在我们的遗留代码中解决足够的类依赖性:我的问题仍然存在.项目是否可以启用SeparateAnnotationProcessing并行化或是否有任何其他配置?

解决方法 您可以通过优化来加速开发构建,而不是担心增量方面.你在用proguard吗?如果是这样,请为开发/暂存构建禁用它,并仅将其用于发布版本.

如果你已经这样做了 – 我不确定在没有提出机器规格的情况下提出什么建议.

总结

以上是内存溢出为你收集整理的Android Studio缓慢增量构建全部内容,希望文章能够帮你解决Android Studio缓慢增量构建所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1126231.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存