Android Studio Gradle acelerar la construcción

Desde la última actualización (Build desde el 25 de junio) cualquier cambio en el estudio de Android Gradle es dolorosamente lento. Y también parece que los cambios de autotrack cuando se edita el archivo y recompilar en keyup.

Cada cambio toma varios minutos en mi i5.

¿Alguna idea de cómo puedo acelerar mis cambios de Gradle?

Los dev están trabajando en ello. Como he publicado en esta respuesta la solución más rápida ahora es usar gradle desde la línea de comandos y debe cambiar a librerías binarias para todos los módulos que no desarrollan. En g + hay una discusión con los desarrolladores al respecto.

Definitivamente hace una diferencia: Cómo … Acelerar el tiempo de generación de Gradle

Basta con crear un archivo denominado gradle.properties en el siguiente directorio:

 /home/<username>/.gradle/ (Linux) /Users/<username>/.gradle/ (Mac) C:\Users\<username>\.gradle (Windows) 

Añadir esta línea al archivo:

 org.gradle.daemon=true 

Después de cambiar esta configuración mi tiempo de compilación 10 minutos reducido a 10 segundos.

Paso 1:

Ajustes (ctrl + Alt + S) ->

Construcción, Ejecución, Implementación ->

Compilador ->

Escriba " --offline " en el cuadro de opciones de línea de comandos.

Paso 2:

Marque la casilla de verificación "Compilar módulos independientes en paralelo".

& Haga clic en Aplicar -> Aceptar

Introduzca aquí la descripción de la imagen

Actualizar:

Si está utilizando Android Studio 2.0 o superior, pruebe con Instant Run

Configuración → Ejecución, Ejecución → Ejecución instantánea → Habilitar ejecución instantánea.

Más información acerca de Instant Run – https://developer.android.com/studio/run/index.html#instant-run

Fui capaz de reducir mi generación gradle de 43 segundos a 25 segundos en mi viejo portátil core2duo (ejecutando linux menta), agregando lo siguiente al archivo gradle.properties en android studio

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

Fuente sobre por qué la configuración del daemon hace que las compilaciones sean más rápidas: https://www.timroes.de/2013/09/12/speed-up-gradle/

Seguir los pasos lo hará 10 veces más rápido y reducir el tiempo de construcción 90%

Primero cree un archivo llamado gradle.properties en el directorio siguiente:

 /home/<username>/.gradle/ (Linux) /Users/<username>/.gradle/ (Mac) C:\Users\<username>\.gradle (Windows) 

Añadir esta línea al archivo:

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

Y comprueba estas opciones en Android Studio

Introduzca aquí la descripción de la imagen

Introduzca aquí la descripción de la imagen

Hay una versión más nueva de gradle (ver 2.4).

Puede configurar esto para sus proyectos abriendo el diálogo 'Estructura del proyecto' en el menú Archivo,

Project Structure -> Project -> Gradle version

Y póngalo en '2.4'.
Puede leer más acerca de cómo mejorar el rendimiento en este enlace .

Con Android Studio 2.1 puede habilitar "Dex In Process" para crear aplicaciones más rápidas.

Introduzca aquí la descripción de la imagen

Puede obtener más información al respecto aquí: https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e#.vijksflyn

Esto es lo que hice y mi velocidad de generación gradle mejoró dramáticamente! De 1 minuto a 20 segundos para la primera construcción y las construcciones siguientes se convirtieron de 40 segundos a 5 segundos.

En el archivo gradle.properties Añada esto:

 org.gradle.jvmargs=-Xmx8192M -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 

En Argumentos de la línea de comando, vaya a Archivo> Otras configuraciones> Configuración predeterminada> Construir, Ejecutar, Implementar> Cumplir y agregar los argumentos siguientes a Argumentos de línea de comandos

Agrega esto:

 --debug --stacktrace -a, --no-rebuild -q, --quiet --offline 

Vea la imagen aquí

  1. Habilitar trabajo sin conexión

  2. Mejorar el rendimiento de Gradle agregando el siguiente código en gradle.properties

Org.gradle.daemon = true
Org.gradle.parallel = true

Guía paso a paso: http://www.viralandroid.com/2015/08/how-to-make-android-studio-fast.html

 dexOptions { incremental true javaMaxHeapSize "4g" } 

Puede usar el comando ./gradlew <task name> dentro de la carpeta raíz de su proyecto desde linux o usar el archivo gradlew.bat como gradlew <task name> .cuando ejecute primero uno De los comandos anteriores para una versión dada de Gradle, descargará la distribución correspondiente de Gradle y la utilizará para ejecutar la compilación.

Al importar un proyecto de Gradle a través de su envoltorio, su IDE puede pedir que utilice la distribución Gradle 'all'. Esto está perfectamente bien y ayuda a que el IDE proporcione la terminación del código para los archivos de compilación. Esto no sólo significa que usted no tiene que instalar manualmente Gradle usted mismo, sino que también está seguro de usar la versión de Gradle para la que está diseñada la compilación. Esto hace que sus compilaciones históricas sean más confiables. Para más información referir Ejecutar una compilación con el Wrapper

Para las compilaciones más rápidas, aumente el tamaño de montón máximo para el daemon Gradle a más de 2048 MB.

Para hacer este conjunto
org.gradle.jvmargs=-Xmx2048M
En el proyecto gradle.properties .

Agregue un archivo build.gradle :

 android { ... dexOptions { javaMaxHeapSize "4g" //specify the heap size for the dex process } ... } 

Espero que ayude.

Estoy ejecutando una 5 ª generación i7 con Windows 10 y un 1TB de estado sólido. Comprimí la carpeta de Android Studio Projects y obtuve un aumento del 80%. Espero que esto ayude.

Entonces lo combiné con las soluciones anteriores, es decir, (org.gradle.parallel = true, org.gradle.daemon = true). El impulso de rendimiento fue bastante impresionante.

Adicionalmente:

Todas las respuestas anteriores son totalmente correctas, pero debo declarar como una experiencia desarrollador de Android (de 4 años y medio) que: Ningún desarrollador de Android / Gradle debe estar trabajando en una máquina con una unidad de spinner, es necesario un fork out for a De Estado sólido. Todos golpeamos ese botón del juego en el IDE 100s de veces por día. Cuando fui de un spinner a SSD (post Gradle), mi velocidad y eficiencia fue literalmente 2 – 4 veces más rápido y te prometo que no estoy exagerando aquí.

Ahora no estoy hablando de tener una máquina con un pequeño SSD y un spinner grande, estoy hablando de 1 SSD grande. Si ya tiene una máquina con un pequeño SSD y un gran spinner puede actualizar el pequeño spinner para decir un SSD de 500 GB y configurar el SSD como unidad principal del sistema operativo con las herramientas de desarrollador instaladas en él.

Así que si usted está trabajando en un ambiente de ritmo rápido por favor muestre este mensaje a su jefe. Un decente SSD de 1 TB le pondrá de vuelta alrededor de £ 300 (IVA incluido), o alrededor de £ 160 para un SSD de 500 GB. Dependiendo de si eres un desarrollador androide menor o mayor, la unidad se pagará por sí sola (en gastos de salario) en 1 a 2 semanas de trabajo, o alrededor de 2 y medio a 5 días hábiles si inviertes en un menor; Digamos 500GB SSD.

Muchos desarrolladores pueden argumentar que este no es el caso, pero es el caso de Gradle, ya que el sistema Gradle es muy duro en el acceso directo al disco. Si trabaja con .NET / C # / VB Net u otras herramientas de desarrollo, no notará mucha diferencia, pero la diferencia en Gradle es ENORME. Si actúas en este post te lo prometo, no te decepcionará. Personalmente estoy usando quinto gen i7 con 8 GB de RAM que originalmente venía con un Spinner 1TB y lo actualizé a un Samsung SSD 840 EVO 1TB y nunca he mirado desde entonces. Compré la mía de: https://www.aria.co.uk .

Espero que esto ayude. También debo decir que este no es un puesto comercialmente motivado, sólo estoy recomendando Aria como he usado muchas veces antes y siempre han sido confiables.

De acuerdo con esta página del equipo de Android de Wikimedia Apps , una buena forma de optimizar las creaciones de Gradle es añadir estas líneas a su ~ / .gradle / gradle.properties

 org.gradle.daemon=true org.gradle.parallel=true org.gradle.configureondemand=true org.gradle.jvmargs=-Xmx2048M 

Para aquellos que no tienen el archivo hay dos maneras de hacerlo:

  1. Agregue el archivo localmente en su proyecto creando un archivo denominado gradle.properties en la raíz del proyecto o,

  2. Puede configurarlos globalmente para todos sus proyectos creando el mismo archivo en su directorio personal (% UserProfile% .gradle en Windows , ~ / .gradle en Linux y Mac OS X )

    Es una buena práctica establecer las propiedades en su directorio personal, en lugar de hacerlo en un nivel de proyecto.

Sigue este enlace obtendrás una respuesta adecuada https://hackernoon.com/speed-up-gradle-build-in-android-studio-80a5f74ac9ed

Trate de evitar el uso de un Mac / PC que sólo tiene 8 GB de RAM al hacer el desarrollo de Android. Tan pronto como se inicia incluso 1 emulador (Genymotion o no), los tiempos de generación se vuelven extremadamente lentos en Android Studio con compilaciones de gradle. Esto sucede incluso si realiza un simple cambio de una línea a 1 archivo de origen.

Cerrar el emulador y usar un dispositivo real ayuda mucho, pero por supuesto esto es muy limitante y menos flexible. La reducción de la configuración de uso de RAM del emulador puede ayudar, pero la mejor manera es asegurar que su computadora portátil tenga al menos 12-16 GB de RAM.

Actualización (junio de 2017): Ahora hay varios buenos artículos de medium.com que explican cómo acelerar las compilaciones de gradle de Android Studio en detalle e incluso funciona en máquinas de 8 GB:

El consenso resumido es:

Cree un archivo gradle.properties (global o local para el proyecto) y agregue las líneas siguientes:

 org.gradle.daemon=true org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.configureondemand=true 
  • android-apt-compilador: No hay herramientas de compilación en el SDK de Android
  • Android Studio 3.0 Error. Migrar configuraciones de dependencia para módulos locales
  • Android Studio - Valores de error de compilación de Appcompat-v23 / styles_bases.xml
  • Android Studio 2.1 - depuración muy lenta en el dispositivo
  • Vista previa de Android Studio 3.0 Falta las importaciones al refactorizar el código de Kotlin
  • No hay números de línea en Eclipse o en el editor de Android Studio XML.
  • ¿Cómo puedo obtener Android Studio para dejar de devolver el código generado en los resultados de búsqueda?
  • Existe un archivo XML Layout de Android Studio pero no lo encuentro
  • Android Studio: Failure
  • Cómo agregar cualquier archivo jar en el estudio de Android?
  • Android Studio no puede autenticarse con SVN
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.