Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android gradle build time exponential increase

Tags:

android

gradle

My Gradle build time is usually around 12 seconds, but after around 10 - 20 builds it starts to increase at once, exponentially: 30 seconds, 50 seconds, 2 minutes, 5 minutes, etc. up to out of memory.

Healthy build:

:app:compileDev21DebugJavaWithJavac 4.783s
:app:transformClassesWithRealmTransformerForDev21Debug  3.011s
:app:transformClassesWithDexForDev21Debug   2.133s
:app:compileRetrolambdaDev21Debug   1.325s
:app:packageDev21Debug  0.997s
:app:processDev21DebugResources 0.703s

After 10 - 20 of those, it starts increasing:

:app:transformClassesWithDexForDev21Debug   39.172s
:app:compileDev21DebugJavaWithJavac 34.221s
:app:packageDev21Debug  9.922s
:app:transformClassesWithRealmTransformerForDev21Debug  8.353s
:app:compileRetrolambdaDev21Debug   3.120s
:app:fabricGenerateResourcesDev21Debug  1.376s

As you can see, every task increases in time.

I use Android Studio 2.2.2, but I had the problem since the last 3 versions or so. Gradle 2.14.1. Probably it’s related to our project. I use Mac, my colleague on Windows has the same on the same project. If I stop AS, kill Java and start AS again, that solves it for a while.

I am not using the Jack compiler (yet).

To be clear: my build time is NOT generally slow: 13 seconds is fine. This is not a duplicate of all the "slow build time" questions. Only after 10 - 20 builds the build time increases exponentially with every build.

Update: Make Gradle build "offline" didn't help. Using "gradle-3.1-all.zip" (distributionUrl in grade-wrapper.properties) also did not help.

Anyone had this problem and knows a solution?

like image 781
Frank Avatar asked Nov 19 '22 13:11

Frank


1 Answers

I experienced(and somehow still facing) the same issue. There are some fixes that you can try.

1- Make Gradle build Offline.

2- Install Gradle on machine and use local installation alongside Offline work checked in Android Studio instead of Using wrapper which connects to proxy and takes more time with building cache of Studio.

I followed this and this article and it helped me not substantially but enough to get me nearly 6,7 hours of continuous development on 8GB memory system then i have to Invalidate and Restart.

like image 65
mfaisalhyder Avatar answered Nov 22 '22 04:11

mfaisalhyder