无法加速具有20个库的大型项目的编译时间

时间:2016-09-14 16:07:44

标签: gradle android-studio-2.1

有一个非常大的Android项目,使用大约20个库,包括谷歌和第三方库。每个Gradle控制台编译需要5分钟,但实际上它需要更多。也许这个控制台不会计算解决某些依赖关系所需的时间。

我有一台配备16GB内存的野兽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 个答案:

答案 0 :(得分:0)

可悲的是,你无法加速。但是你可以做一些技巧。

  1. 将远程Maven转换为本地maven仓库。当您运行-i切换并看到某个库经常和太长时间联系Maven时,将该库转换为本地Maven仓库是一个很好的指标。

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