Skip to content

Most visited

Recently visited

navigation

Acelera compilaciones limpias con el caché de compilación

El caché de depuración guarda determinada información de salida que genera el complemento de Android para Gradle al compilar tu proyecto (como AAR sin empaquetar y dependencias remotas previamente convertidas a archivos Dex). Tus compilaciones limpias son mucho más rápidas mientras se usa el caché, ya que el sistema de compilación puede simplemente reutilizar esos archivos almacenados en caché en compilaciones posteriores en lugar de volver a crearlos. El caché de compilación también funciona en servidores de integración continua y cuando se ejecutan varios procesos de compilación en una máquina local individual.

Los proyectos que usan el complemento de Android 2.3.0 y versiones posteriores habilitan el caché de forma predeterminada (a menos que inhabilites el caché de compilación de forma explícita). No obstante, si configuras una de las siguientes propiedades de compilación de una manera que no sea la que se muestra a continuación, el complemento inhabilita el almacenamiento en caché de dependencias remotas previamente convertidas a archivos Dex. (Estas son las configuraciones predeterminadas para cada propiedad, por lo que si no las declaras a todas permanecerá habilitado el almacenamiento en caché de dependencias remotas previamente convertidas a Dex).

android {
  defaultConfig {
    // If you do enable multidex, you must also set
    // minSdkVersion to 21 or higher.
    multiDexEnabled false
  }
  buildTypes {
    <build-type> {
      minifyEnabled false
    }
  }
  dexOptions {
    preDexLibraries true
  }
  ...
}
...

Nota: Si tu proyecto usa la versión 2.2.2 o 2.2.3 del complemento de Android, significa que emplea la versión experimental de la función de caché de compilación. Debes actualizar tu proyecto para que use la última versión del complemento de Android.

Si deseas obtener más información sobre otras maneras de agilizar tus compilaciones, lee Optimizar tu velocidad de compilación.

Cambiar la ubicación del caché de compilación

De forma predeterminada, el complemento de Android guarda tu caché en <user-home>/.android/build-cache/. Si configuras una de las siguientes variables de ruta de acceso (se indican en prioridad descendente), Android Studio usa <path-variable>/.android/build-cache/ como alternativa:

El complemento de Android usa una ubicación predeterminada para el caché de compilación, de modo que pueda compartir los archivos almacenados en caché entre todos tus proyectos que usen el complemento de Android 2.3.0 o versiones posteriores (y no inhabilita el caché de compilación). Por ejemplo, después de que uno de tus proyectos compila y almacena en caché una dependencia previamente convertida a Dex, otros proyectos que también usan esa dependencia pueden omitir una nueva conversión a Dex al copiar el archivo del caché de compilación compartido.

Si prefieres que un proyecto cree su propio caché (y no comparta el caché con otros proyectos), puedes especificar una ubicación única para el caché en el archivo gradle.properties de ese proyecto de la siguiente manera:

// You can specify either an absolute path or a path relative
// to the gradle.properties file.
android.buildCacheDir=<path-to-directory>

Cuando termines de editar el archivo, haz clic en Sync Project para crear el nuevo directorio del caché de compilación.

Nota: Evita especificar un directorio para tu caché de compilación dentro del directorio <project-root>/build/ o <project-root>/<module-root>/build/, ya que Gradle borra esos directorios cada vez que ejecuta la tarea clean.

Si deseas compartir el caché únicamente con determinados proyectos, especifica el mismo directorio de caché de compilación en el archivo gradle.properties de esos proyectos.

Borrar el caché de compilación

Casi como en el caso de la tarea clean del complemento de Android que borra los directorios build/ de tu proyecto, puedes ejecutar la tarea cleanBuildCache para borrar el caché de compilación de tu proyecto. Si un proyecto especifica un directorio no predeterminado para su caché de compilación, al ejecutar la tarea desde ese proyecto solo se borrará ese caché (y no el caché compartido en la ubicación predeterminada). Para ejecutar la tarea, selecciona View > Tool Windows > Terminal en la barra de menú y usa uno de los siguientes comandos:

Nota: La tarea cleanBuildCache no está disponible si inhabilitas el caché de compilación.

Inhabilitar el caché de compilación

Debido a que el caché de compilación acelera tus compilaciones limpias, no se recomienda inhabilitar la función. Si, de todas formas, deseas inhabilitar el caché de compilación para tu proyecto, agrega lo siguiente al archivo gradle.properties:

// To re-enable the build cache, either delete the following
// line or set the property to 'true'.
android.enableBuildCache=false

Cuando termines de editar el archivo, haz clic en Sync Project para aplicar los cambios.

Nota: Una vez que inhabilitas el caché de compilación, el complemento de Android ignora la propiedad android.buildCacheDir y la tarea cleanBuildCache deja de estar disponible. Asimismo, inhabilitar el caché de compilación no borra automáticamente el directorio del caché. Esto te permite conservar los archivos almacenados en caché si decides volver a habilitar el caché de compilación.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Sigue a Google Developers en WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)