即使没有代码更改(颤动),Gradle 也需要很长时间(40 秒)
Posted
技术标签:
【中文标题】即使没有代码更改(颤动),Gradle 也需要很长时间(40 秒)【英文标题】:Gradle takes long (40 seconds) even with no code change (flutter) 【发布时间】:2022-01-20 23:15:39 【问题描述】:我使用 VS 代码并构建了一个示例应用程序。我有一个带有 32 GB RAM 和 SSD 的 6 核 AMD 处理器 (FX-6300)。我只是无法快速构建。
这是我当前的 gradle.properties 文件
org.gradle.jvmargs=-Xmx3096m -XX:+UseParallelGC -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
android.useAndroidX=true
android.enableJetifier=true
org.gradle.caching=true
org.gradle.daemon=true
org.gradle.vfs.watch=true
org.gradle.configureondemand=true
即使没有更改构建(F5:开始调试),构建也需要 40 秒。
gradlew --version 显示
------------------------------------------------------------
Gradle 6.7
------------------------------------------------------------
Build time: 2020-10-14 16:13:12 UTC
Revision: 312ba9e0f4f8a02d01854d1ed743b79ed996dfd3
Kotlin: 1.3.72
Groovy: 2.5.12
Ant: Apache Ant(TM) version 1.10.8 compiled on May 10 2020
JVM: 15.0.2 (Oracle Corporation 15.0.2+7-27)
OS: Windows 10 10.0 amd64
请帮忙。
【问题讨论】:
【参考方案1】:我不知道你的代码是什么,也不知道为什么构建起来需要太多时间,因为你没有提到任何关于 .
的信息。但如果您构建多个项目添加org.gradle.parallel=true
会有很大帮助。
假设你的构建需要org.gradle.jvmargs=-Xmx4096M
,那么下一次所有细节都会被缓存,这样运行时间就会更少,所以给org.gradle.jvmargs=-Xmx~
提供更多可能也会有所帮助。
内存大小的增加将帮助您保存更大版本的缓存,从而提高性能。
【讨论】:
scans.gradle.com/s/3x3na2dqoaxcs 有扫描结果(花费 > 20 分钟甚至中止) 通过您建议的这些更改,(重新)构建减少了 10 秒(25%):``` org.gradle.jvmargs=-Xmx8000m -XX:+UseParallelGC -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 android.useAndroidX=true android.enableJetifier=true org.gradle.caching=true org.gradle.daemon=true org.gradle.vfs.watch=true org.gradle。 configureondemand=true org.gradle.parallel=true ``` 太好了,很高兴这有帮助。以上是关于即使没有代码更改(颤动),Gradle 也需要很长时间(40 秒)的主要内容,如果未能解决你的问题,请参考以下文章
即使没有任何更改,Android 多模块 Gradle 构建也很慢