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

ADe*_*Dev 10 android gradle android-studio android-gradle-plugin

我有一个包含多个模块的Android项目,即使我尝试重建它而不改变任何东西,构建时间也很慢.

其结构类似于:

简化的项目设置

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

我的gradle.properties文件如下:

org.gradle.jvmargs=-Xmx4096m -Xms2048m
org.gradle.parallel=true
org.gradle.daemon=true
org.gradle.configureondemand=true
Run Code Online (Sandbox Code Playgroud)

我使用的是Gradle版本3.5和插件版本2.4.0-alpha7.

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

在构建时,我可以看到多个线程并行运行不同的任务,对于大多数项目来说,除了主要用于最终的"app"模块(我认为是正常的).

但是很多时候似乎花在了不同的:: compileJavaWithJavac任务上.即使没有改变任何东西,在配备16 Gb RAM的MacBook Pro i7上构建也需要大约30秒.

如果我在功能模块的方法中更改了一行代码(甚至没有更改方法的签名),则构建时间超过1:30分钟.

这些正常时期?有什么我可以进一步优化以改善构建时间吗?

我还检查了一些其他答案:

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

Byt*_*ode 0

您应该尽可能使功能模块独立,并且与其他模块的任何依赖关系请考虑存根。一种仅包含接口 feature1 -> featureonestub->feature2 的代理