maven - rendimiento - optimizar android studio
Optimizando el tiempo de compilaciĆ³n en Android Studio (5)
Debe definir correctamente las entradas y salidas incluso para proyectos de biblioteca con código fuente. ( Documentación Gradle) . ¿Recibes el mensaje ACTUALIZADO cuando reconstruyes la segunda vez?
He intentado construirlo:
- paralelo (ayuda un poco)
- daemon = true
- PreDexLibraries true / false (no hay gran diferencia)
- verdadero incremental
- desconectado
Lleva> 40s CADA vez. No importa si cambio algo o no. Construirlo después de "gradle clean" toma> 50s.
Espero que esté haciendo algo mal. Eclipse / ant podría construir compilaciones consecutivas CON CAMBIOS en <10s.
Cualquier ayuda sobre cómo traer este <10s apreciado. Sí, tenemos muchos módulos, algunas bibliotecas de archivos jar, algunas dependencias de maven. Aún no entiendo por qué tomaría> 40s para dos versiones consecutivas sin cambios.
Gradle utilizado: 2.2.1 estudio de Android: no es realmente relevante, generalmente se construye solo con Gradle.
EDITAR: agregar algunos registros de perfiles.
: app: dexProjDebug 22.541s
: aplicación: shrinkProjDebugMultiDexComponents 4.279s
: app: compileProjDebugJava 3.478s
: app: packageProjDebug 2.591s
: app: processProjDebugResources 2.590s
: app: packageAllProjDebugClassesForMultiDex 2.536s
: app: createProjDebugMainDexClassList 2.126s
Descarga el emulador Genymotion. Es muy rápido y bueno para ejecutar aplicaciones de Android. Esto le ahorrará mucho tiempo. Aquí está el enlace - GenyMotionDownload
Si es posible, actualice a Gradle 2.4. Es significativamente más rápido (reclamando 20-40%).
Si no tiene cambios en los otros módulos, puede compilar la aplicación utilizando gradlew :app:build
. Esto eliminará el tiempo que Gradle invierte en construir los otros módulos. También puedes construir cualquier módulo por separado así, usando gradlew :moduledirectoryname:build
. Si necesita compilar un módulo y la aplicación, puede ejecutar ambas tareas a la vez para evitar pasar dos veces por la etapa de configuración de gradlew :app:build :moduledirectoryname:build
Uno de los reductores de tiempo de compilación más importantes es la tarea preDex. Compruebe si preDex se está ejecutando en su compilación. Aumenta el tiempo de compilación la primera vez que lo ejecutas, pero reduce drásticamente los tiempos de compilación en las compilaciones subsiguientes, ya que la mayoría de tus SDK y bibliotecas ya estarán obsoletas. Sin embargo, tenga en cuenta que no se ejecutará bajo ciertas condiciones, por ejemplo, si utiliza multidex.
Por cierto, Google es consciente de los tiempos de compilación con Gradle y Android Studio y presentará mejoras significativas en los próximos lanzamientos, incluidos Jack y Jill, que permitirán compilar desde el código fuente directamente hasta el dex. Ya puede intentar experimentar con ellos; consulte aquí: http://tools.android.com/tech-docs/jackandjill .
También vale la pena ver este video de la reciente E / S de Google: https://youtu.be/f7ihSQ44WO0?t=327