tools studio para flavors descargar defaultconfig configurar android gradle android-gradle build.gradle android-proguard

studio - ¿Cuál es la diferencia entre "minifyEnabled" y "useProguard" en el complemento de Android para Gradle?



flavors android gradle (1)

Citando de tools.android.com :

Shrinker incorporado

La versión 2.0 de Android Plugin para Gradle se envía con un reductor de código incorporado experimental, que se puede usar en lugar de ProGuard. El reductor incorporado admite ejecuciones incrementales rápidas y está destinado a acelerar los ciclos de iteración. Se puede habilitar utilizando el siguiente fragmento de código:

android { buildTypes { debug { minifyEnabled true useProguard false proguardFiles getDefaultProguardFile(''proguard-android.txt'') } } }

El reductor incorporado solo puede eliminar el código muerto, no se ofusca ni optimiza. Se puede configurar utilizando los mismos archivos que ProGuard, pero ignorará todos los indicadores relacionados con la ofuscación u optimización.

A diferencia de ProGuard, admitimos el uso del shrinker integrado junto con Instant Run: dependiendo del proyecto, puede disminuir significativamente la compilación inicial y el tiempo de instalación. Cualquier método que sea alcanzable después de un cambio de código aparecerá como recién agregado al programa y evitará un intercambio instantáneo de hotswap.

Veo que el complemento de Android para Gradle tiene una propiedad minifyEnabled , así como una propiedad useProguard , de la siguiente manera:

android { buildTypes { debug { minifyEnabled true useProguard false } release { minifyEnabled true useProguard true } } }

¿Cuál es la diferencia entre estas dos propiedades? O, mejor dicho, ¿cuál es el significado de cada uno?