Acelerar Gradle Build en Android Studio 3.2.1
¿Alguna vez sintió que está esperando que las compilaciones se completen en Android Studio por minutos? Yo también. Y es bastante molesto. Afortunadamente, hay algunas formas que puede utilizar para mejorar esto. Android usa Gradle para construir. La última versión es 4.6 tiene un gran aumento de rendimiento con respecto a las versiones anteriores (consulte las Notas de la versión para más detalles).
Paso 1: Actualice la versión de Gradle Una forma más fácil de lograr esto es ir a: Abrir la Configuración del módulo (su proyecto)> Estructura del proyecto
ACTUALIZAR
Cambiar a la versión de Gradle: 4.6
y cambiar a la versión del complemento de Android: 3.2.1
Descargue la distribución Gradle Release de https://services.gradle.org/distributions/gradle-4.6-all.zip
y cópielo en la carpeta Gradle:
El último paso es agregar su descripción en Configuración> Gradle
No olvide hacer clic en Aplicar para guardar los cambios.
Paso 2: Habilite el modo fuera de línea, el demonio Gradle y la compilación paralela para el proyecto El modo fuera de línea le dice a Gradle que ignore las actualizaciones hasta la fecha. Gradle solicita dependencias cada vez y tener esta opción hace que solo use lo que ya está en la máquina para las dependencias. Vaya a Gradle desde la configuración de Android Studio y haga clic en el cuadro de trabajo Fuera de línea.
- Vaya a Compiler from Android studio Setting y agregue "- offline" en el cuadro de línea de comandos y haga clic en Compilar módulos independientes en paralelo.
El siguiente paso es habilitar el demonio Gradle y la compilación paralela para su proyecto. Las compilaciones paralelas harán que sus proyectos con múltiples módulos (compilaciones multiproyecto en Gradle) se construyan en paralelo, lo que debería hacer que los proyectos grandes o modulares se construyan más rápido.
Esta configuración podría habilitarse modificando un archivo llamado gradle.properties en el directorio de scripts de Gradle (es decir, ~ / .gradle / gradle.properties) .Algunas de estas opciones (p. Ej., Módulos Complie en paralelo) están disponibles en Android Studio y también están habilitadas allí por predeterminado, pero ponerlos en el archivo gradle.properties los habilitará cuando compile desde la terminal y también se asegurará de que sus colegas usen la misma configuración. Pero si estás trabajando en un equipo, a veces no puedes cometer esto.
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit org.gradle.parallel=true
# When set to true the Gradle daemon is used to run the build. For local developer builds this is our favorite property.
# The developer environment is optimized for speed and feedback so we nearly always run Gradle jobs with the daemon.
org.gradle.daemon=true
El uso del demonio hará que sus compilaciones se inicien más rápido, ya que no tendrá que iniciar toda la aplicación Gradle cada vez. El Gradle Daemon no está habilitado de forma predeterminada, pero se recomienda siempre habilitarlo para las máquinas de los desarrolladores (pero dejarlo deshabilitado para los servidores de integración continua). Las preguntas frecuentes sobre este modo se pueden encontrar aquí https://docs.gradle.org/current/userguide/gradle_daemon.html . La configuración de compilaciones paralelas podría no ser segura para algunos proyectos. El requisito es que todos sus módulos deben estar desacoplados o su construcción podría fallar (consulte http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects para más detalles).
Paso 3: Habilite la configuración de memoria incremental de dexign y ajuste Puede acelerar sus compilaciones activando la desintoxicación incremental. En el archivo de compilación de su módulo:
Agregue esta opción a su bloque de Android:
dexOptions {
incremental true
}
En ese bloque dexOptions también puede especificar el tamaño de almacenamiento dinámico para el proceso dex, por ejemplo:
dexOptions {
incremental true
javaMaxHeapSize "12g"
}
Donde "12g" es 12GB de memoria. Puede encontrar información adicional sobre esto aquí google.github.io/android-gradle-dsl/current/ También puede configurar los parámetros de Gradle en el archivo de configuración, por ejemplo, aumente el tamaño máximo de almacenamiento dinámico en caso de que tenga un proyecto grande:
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Vea toda la lista de parámetros aquí: https://docs.gradle.org/current/userguide/userguide_single.html#sec:gradle_configuration_properties para más detalles.
Paso 4: Deshabilite el antivirus Considere excluir los proyectos y los archivos de caché del escaneo antivirus. Obviamente, esto es una compensación con la seguridad. Pero si cambia mucho de una rama a otra, el antivirus volverá a analizar los archivos antes de permitir que el proceso de Gradle lo use, lo que ralentiza el tiempo de compilación (en particular, el proyecto de sincronización de Android Studio con los archivos de Gradle y las tareas de indexación). Mida el tiempo de compilación y procese la CPU con y sin antivirus habilitado para ver si está relacionado. Espero que esto ayude. Deje un comentario si tiene alguna pregunta o algún otro consejo para mejorar el rendimiento de la compilación.
enlace útil