即使没有任何更改,Android多模块Gradle构建也会很慢

我有一个Android项目与多个模块的构建时间慢,即使我试图重建它,而不需要改变任何东西。

其结构类似于:

简化的项目设置

有更多的“父母”(和独立的父母兄弟姐妹)和“功能”模块,但设置是图片。

我的gradle.properties文件如下:

 org.gradle.jvmargs=-Xmx4096m -Xms2048m org.gradle.parallel=true org.gradle.daemon=true org.gradle.configureondemand=true 

我正在使用Gradle版本3.5和插件版本2.4.0-alpha7。

该项目还使用multidex( javaMaxHeapSize "4g"jumboMode true ),数据绑定,kotlin和java以及几个注释处理器。

在构建时,我可以看到多个线程在大多数项目中并行运行不同的任务,除了最后的“app”模块(我认为是正常的)之外。

但是很多时候似乎花费在不同的:: compileJavaWithJavac任务上。 即使没有改变任何东西,构建需要约30秒的MacBook Pro I7与16 Gb RAM。

如果我在一个特征模块的一个方法内改变一行代码(甚至不改变方法的签名),构建时间将超过1:30分钟。

这是正常的时候吗? 有什么我可以进一步优化,以提高生成时间?

我也检查了一些其他的答案:

  • 从这一个 ,设置preDexLibraries = false不起作用,我已经使用assembleDebug
  • 这里建议incremental = true ,不起作用,不推荐使用
  • 禁用即时运行似乎有一点帮助,但不是很多
  • 上面讨论的项目的构建风格已经设置minSdkVersion 21