title: Gradle Build too long
body: <p>Gradle build now takes too long (literally it does not complete building after running for like 1 hour) after enabling MultiDex. I followed the steps given at <a href="https://developer.android.com/studio/build/multidex.html" rel="noreferrer">https://developer.android.com/studio/build/multidex.html</a> site to configure MultiDex in app.</p>
  
  <p>Below is an excerpt from my gradle console. </p>
  
  <pre><code>:app:compileDevelopmentDebugNdk UP-TO-DATE
  :app:compileDevelopmentDebugSources
  :app:mergeDevelopmentDebugShaders UP-TO-DATE
  :app:compileDevelopmentDebugShaders UP-TO-DATE
  :app:generateDevelopmentDebugAssets UP-TO-DATE
  :app:mergeDevelopmentDebugAssets UP-TO-DATE
  :app:unzipJacocoAgent UP-TO-DATE
  :app:transformClassesWithJacocoForDevelopmentDebug UP-TO-DATE
  :app:transformClassesWithDexForDevelopmentDebug
  </code></pre>
  
  <p>the last task <code>:app:transformClassesWithDexForDevelopmentDebug</code> is the one where the gradle console stops. Any help would be appreciated. I also need to test the app in pre-lollipop devices. </p>
  
  <p><strong>Edit</strong></p>
  
  <p>The problem only occurs when I test my app in a pre-lollipop test device. Building for main test device seems to work fine. It takes 8.12 seconds while building for Nexus 6P. But I want to test for pre-lollipop devices too.</p>
  
  <p><strong>Edit 2</strong></p>
  
  <p>As per @Gillis's advice I am attaching my stacktrace</p>
  
  <pre><code>10:19:10.558 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
  10:19:10.558 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
  10:19:10.559 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
  10:19:10.559 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
  10:19:10.559 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
  10:19:10.559 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
  10:19:10.559 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
  10:19:20.555 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
  10:19:20.560 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
  10:19:20.560 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
  10:19:20.561 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
  10:19:20.561 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
  10:19:20.561 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired.
  10:19:20.561 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
  </code></pre>
  
  <p>I have tried removing my <code>/home/.gradle</code> folder too but still no luck. Clearly there is a loop in acquiring the lock.</p>
  
  <p>Also I am attaching my jstacktrace too</p>
  
  <pre><code>"File lock request listener" #27 prio=5 os_prio=31 tid=0x00007fb9b2c20800 nid=0x5d07 runnable [0x0000700001961000]
     java.lang.Thread.State: RUNNABLE
          at java.net.PlainDatagramSocketImpl.receive0(Native Method)
          - locked &lt;0x00000006c026d670&gt; (a java.net.PlainDatagramSocketImpl)
          at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:143)
          - locked &lt;0x00000006c026d670&gt; (a java.net.PlainDatagramSocketImpl)
          at java.net.DatagramSocket.receive(DatagramSocket.java:812)
          - locked &lt;0x00000006c0bc5df0&gt; (a java.net.DatagramPacket)
          - locked &lt;0x00000006c026d630&gt; (a java.net.DatagramSocket)
          at org.gradle.cache.internal.FileLockCommunicator.receive(FileLockCommunicator.java:60)
          at org.gradle.cache.internal.locklistener.DefaultFileLockContentionHandler$1.doRun(DefaultFileLockContentionHandler.java:67)
          at org.gradle.cache.internal.locklistener.DefaultFileLockContentionHandler$1.run(DefaultFileLockContentionHandler.java:54)
          at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
          at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at java.lang.Thread.run(Thread.java:745)
  </code></pre>
  
  <p>please refer <a href="http://pastebin.com/u9k4bfCi" rel="noreferrer">this pastebin</a> for complete log.</p>