Gradle construye increíblemente lento

Tiempo de construcción en este momento es alrededor de ~ 2-4 min.

Estoy usando cerca de 11 bibliotecas proporcionadas a través de Gradle.

Tengo el siguiente conjunto:

buildTypes { debug { multiDexEnabled = true applicationIdSuffix ".debug" minifyEnabled false proguardFile 'proguard-rules.pro' } } dexOptions { javaMaxHeapSize "4096M" preDexLibraries false jumboMode = true incremental = true } 

Gradle: Offline mode

Tengo la siguiente configuración en gradle.properties org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

En las propiedades globales que tengo:

 org.gradle.daemon=true org.gradle.parallel=true org.gradle.configureondemand=true 

He mirado a través de cada artículo que puedo encontrar en él en Google / Stackoverflow.

¿Hay alguna forma de acelerar el proceso hasta por debajo de 1 minuto por lo menos?

Actualización 6 de agosto de 2015

Esto realmente ayudó a acelerar las cosas para mí.

Gradle-wrapper.properties

 distributionUrl=https\://services.gradle.org/distributions/gradle-2.5-all.zip 

Dependencias del proyecto build.gradle

 classpath 'com.android.tools.build:gradle:1.3.0' 

Actualización 9 de agosto de 2015

He encontrado que como resulta que usar Protoc es muy lento para Android. Cambié al alambre y tomó el tiempo de la compilación de 2 min. A 10s-30s.

Encontré que multiDexEnabled = true hace que mi proceso de compilación sea extremadamente lento. No sé si es posible mejorar su rendimiento de alguna manera, pero por ahora lo apagué.

Sólo tiene que usarlo si la cantidad de métodos en su proyecto (incluidas las bibliotecas) va más allá del límite de 65k. Tal vez usted puede cortar algunas de sus 11 bibliotecas, a continuación, desactivar la opción multiDexEnabled debe resolver su problema.

También puede actualizar gradle editando el archivo gradle-wrapper.properties y configurando gradle-2.4-all.zip

 distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip 

gradle daemon habilitar el gradle daemon .

Cree un archivo llamado gradle.properties en el directorio siguiente:

  • /home//.gradle/ (Linux)
  • /Users//.gradle/ (Mac)
  • C: \ Users \ .gradle (Windows)

Añadir esta línea al archivo:

 org.gradle.daemon=true 

A partir de ahora Gradle utilizará un daemon para construir, ya sea que esté usando Gradle desde la línea de comandos o construyendo en Android Studio.

  • Costo de invocar un método en Android
  • Android Studio es más rápido en una PC con Linux?
  • ¿La imagen tarda demasiado en cargarse?
  • Android onClick en XML vs. OnClickListener
  • Mover instancias de Set a otro en Scala
  • El valor de bogoMIPS está cambiando
  • ¿Por qué ViewPager y GridLayout con 30 elementos son muy lentos?
  • Múltiples montajes en un cuerpo o múltiples cuerpos?
  • Ionic: transiciones lentas en la aplicación android instalada
  • Android - Prevenga la pantalla blanca al inicio
  • ¿Es mejor usar GL_FIXED o GL_FLOAT en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.