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.
- ¿Por qué el desarrollo de android con varios proyectos es lento en mi configuración?
- Obtener la intensidad de la señal de WIFI y datos móviles
- Cómo maximizar la eficiencia en este complejo escenario de transferencia de datos
- Obtén velocidad de un evento onTouch ACTION_MOVE en Android
- Posible BUG en Android Clase ImageDownloader: sHardBitmapCache NO estática cuando debería ser?
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.
- ¿Cómo aumentar la velocidad del emulador?
- Manipulación de lienzo vs manipulación de elementos
- TextureView.getBitmap () que muestra un rendimiento inconsistente
- La respuesta de Json es un android muy lento
- Android diccionario TreeSet tiempo de carga más rápido
- Android: rendimiento de gson
- GUIs basadas en XML y rendimiento
- Rendimiento JPG vs WebP en Android
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.
- Cómo ejecutar código en la aplicación se abre en Android?
- NavigationView + selector + efecto de rizo estado seleccionado no funciona