无法加快包含 20 个库的大型项目的编译时间

Cannot speed up compile time in a large project with 20 libraries

有一个相当大的 Android 项目使用了大约 20 个库,包括 Google 和第 3 方库。每个 Gradle 控制台编译需要 5 分钟,但实际上似乎需要更多时间。也许这个控制台不计算解决某些依赖项所需的时间。

我有一台配备 16GB RAM 的 beast i7 机器,这似乎一点用处也没有。

我已经尝试了几乎所有 SO 的解决方案来告诉如何加速编译,但都没有多大帮助。

例如,如果我没有更改项目中的任何内容,带有 --dry-run 的解决方案将快速编译它。否则也无济于事。

同样是:

gradle.properties

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true

这似乎根本没有帮助。

我也试过排除 jcenter() 并只留下 Maven 的,但它根本没有帮助。

mavenLocal()
mavenCentral()
//jcenter()

我不能这样编译它,因为像 mopub 这样的库需要 jcenter.

我的问题有解决办法吗?你可以想象在一个项目上工作是多么令人沮丧,因为你每天要花 3 天时间进行编译。

遗憾的是你不能加速。但是您可以使用一些技巧。

  1. 将远程 Maven 转换为本地 Maven 存储库。当您 运行 -i 切换并看到某些库与 Maven 联系的频率太高且时间太长时,这是将该库转换为本地 Maven 存储库的一个很好的指标。

  2. minSdk 设置为某个较高的值,如 19 或 21(如果 targetSdk 为 23),编译时间将减少。注意:您只能在调试阶段使用这种方式。每次你想制作一个发布 APK 时,你都必须以缓慢的方式编译它,看看是否有任何不推荐使用的方法,以及你是否正确处理了它们。