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



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

我有一个野兽i7机器与16GB RAM似乎没有帮助。

我已经尝试了几乎所有的解决方案,从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

我的问题有解决办法吗?你可以想象,在一个项目中,你每天花三分之一的时间来编译是多么令人沮丧。

遗憾的是你无法加速。但是你可以做一些小技巧。

  1. 将远程Maven转换为本地Maven repo。当您运行-i switch并看到某些库与Maven联系得太频繁且时间太长时,将该库转换为本地Maven库是一个很好的指示。

  2. minSdk设置为一些高值,如19或21(在targetSdk为23的情况下),编译时间将减少。注意:你只能在调试阶段这样做。每次你想要发布APK时,你都必须缓慢地编译它,看看是否有任何不推荐的方法,以及你是否正确地处理了它们。

最新更新