Estoy tratando de usar Android Studio, y la primera vez que lo inicio, se tarda unos 45 MINUTOS en compilar ... Si no salgo de la aplicación, está bien, cada compilación / ejecución posterior tomará la aplicación Alrededor de 45 segundos.
He intentado verificar algunos de mis cachés: hay una .gradle/caches
carpeta en mi directorio de inicio y contiene 123 MB.
También hay una .gradle
carpeta en mi carpeta de proyecto ... una de ellas taskArtifacts
era como 200 MB. Tengo miedo de dispararles al azar a ambos. ¿Qué partes de las carpetas son seguras para eliminar?
¿Existe una mejor explicación de por qué mi Android Studio tarda una eternidad en ejecutar la gradle assemble
tarea la primera vez que cargo la aplicación?
¿También tengo que borrar el caché intellij también?
Compiler -> Gradle
que noUse in-process build
. nada que ver con el cachéRespuestas:
Como @ Bradford20000 señaló en los comentarios, puede haber un
gradle.properties
archivo así como scripts globales de gradle ubicados debajo$HOME/.gradle
. En tal caso, se debe prestar especial atención al eliminar el contenido de este directorio.El
.gradle/caches
directorio contiene elGradle
caché de compilación. Entonces, si tiene algún error sobre la memoria caché de compilación, puede eliminarla.fuente
Gradle cache se ubica en
%USER_HOME%\.gradle/caches/
~/.gradle/caches/
Puede buscar estos directorios y eliminarlos manualmente o ejecutar
en el sistema Unix. Ejecutar este comando también obligará a descargar dependencias.
Actualización 2: borre el caché de compilación de Android del proyecto actual
Nota: Archivo de Android Studio | Invalidar cachés / reiniciar no borra el caché de compilación de Android, por lo que tendrá que limpiarlo por separado.
En Windows:
En Mac o Linux:
fuente
gradlew clean cleanBuildCache
EDITAR:
cleanBuildCache
ya no funcionaEl complemento Android Gradle ahora utiliza la función de caché Gradle
REF: https://guides.gradle.org/using-build-cache/
REF: https://guides.gradle.org/using-build-cache/#caching_android_projects
OTRAS DIGRESIONES
ver aquí (incluidas ediciones).
================
INFORMACIÓN OBSOLETA:
La solución más nueva usando la tarea gradle
cleanBuildCache
disponible a través del complemento de Android para Gradle, revisión 2.3.0 (febrero de 2017)
Dependencias:
mas en:
https://developer.android.com/studio/build/build-cache.html#clear_the_build_cache
antecedentes
Construir caché:
almacena ciertas salidas que el complemento de Android genera al compilar su proyecto (como AAR sin empaquetar y dependencias remotas predeterminadas). Sus compilaciones limpias son mucho más rápidas mientras usa el caché porque el sistema de compilación simplemente puede reutilizar esos archivos almacenados en caché durante las compilaciones posteriores, en lugar de recrearlos. Los proyectos que usan el complemento de Android 2.3.0 y versiones posteriores usan el caché de compilación de forma predeterminada. Para obtener más información, lea Mejorar la velocidad de compilación con Build Cache.
Nota: La tarea cleanBuildCache no está disponible si deshabilita la memoria caché de compilación.
uso:
ventanas
linux / mac
Android Studio / IntelliJ
** gradle / gradlew son archivos específicos del sistema que contienen scripts; consulte la información del sistema para ejecutar el script
fuente
Tenga cuidado con gradle daemon, debe detenerlo antes de despejar y volver a ejecutar gradle.
Para el primer demonio:
Limpiar caché usando:
Corre de nuevo tu compilación
fuente
El gradle daemon también crea muchos archivos de texto grandes de cada registro de compilación. Se almacenan aquí:
"XX" es la versión gradle en uso, como "4.4", y "XXXX" son solo números aleatorios, como "1234".
El tamaño total puede crecer hasta varios cientos de MB en solo unos meses . No hay forma de deshabilitar el registro, y los archivos no se eliminan automáticamente y realmente no es necesario retenerlos.
Pero puede crear una pequeña tarea gradle para eliminarlos automáticamente y liberar mucho espacio en disco:
Agregue esto a su
app/build.gradle
:Para ver qué archivos se están eliminando, puede ver la salida de depuración en Android Studio -> Ver -> Herramienta Windows -> Compilar. Luego presione el botón "Alternar vista" en esa ventana para mostrar la salida de texto.
Tenga en cuenta que Gradle Sync o cualquier Gradle Build activará la eliminación de archivos.
Una mejor manera sería mover automáticamente los archivos a la Papelera / Papelera de reciclaje, o al menos copiarlos primero a una carpeta Papelera. Pero no sé cómo hacer eso.
fuente
Parece que hay información incorrecta publicada aquí. algunas personas informan sobre cómo borrar la memoria caché del generador de Android (con la tarea
cleanBuildCache
) pero no parecen darse cuenta de que dicha memoria caché es independiente de la memoria caché de compilación de Gradle, AFAIK.Entiendo que el caché de Android es anterior (e inspirado) al de Gradle, pero podría estar equivocado. si el generador de Android será / fue actualizado para usar el caché de Gradle y retirar el suyo, no lo sé.
EDITAR: el caché del generador de Android está obsoleto y se ha eliminado. el complemento Android Gradle ahora usa el caché de compilación de Gradle. para controlar este caché, ahora debe interactuar con la infraestructura genérica de caché de Gradle.
SUGERENCIA: busque la ayuda de caché de Gradle en línea sin mencionar la palabra clave 'android' para obtener ayuda para el caché relevante actualmente.
EDIT 2: debido a la pregunta de tir38 en un comentario a continuación, estoy probando usando un proyecto de Android Gradle plugin v3.4.2. el caché de gradle está habilitado por
org.gradle.caching=true
engradle.properties
. Hago un par declean build
y la segunda vez que la mayoría de las tareas se muestranFROM-CACHE
como su estado, lo que muestra que el caché está funcionando.Sorprendentemente, tengo una
cleanBuildCache
tarea gradle y un<user-home>/.android/build-cache/3.4.2/
directorio, ambos insinuando la existencia de una memoria caché de Android.ejecuto
cleanBuildCache
y el3.4.2/
directorio se ha ido. a continuación hago otroclean build
:FROM-CACHE
como su estado y la compilación se completó a velocidades habilitadas para caché.3.4.2/
directorio es recreado.3.4.2/
directorio está vacío (guarde para 2 archivos de marcador ocultos de longitud cero).conclusiones:
cleanBuildCache
no borra ni afecta el caché de compilación de ninguna manera.siguiente, i desactivar el caché Gradle mediante la eliminación
org.gradle.caching=true
degradle.properties
e intento un par declean build
:3.4.2/
directorio continúa vacío.más conclusiones:
EDIT 3: el usuario tir38 confirmó que el caché del generador de Android está obsoleto y se ha eliminado con este hallazgo . tir38 también creó este problema . ¡Gracias!
fuente
3.4.2/
directorio vacío . 2. presencia de lacleanBuildCache
tarea 3. deshabilitar la memoria caché de construcción de gradle y la reconstrucción no mostraron ninguna evidencia de que las tareas de Android golpeen la memoria caché.Mando:
rm -rf ~/.gradle/caches/
fuente