Este es un artículo traducido del original del blog de Android.

Los desarrolladores de Android saben que el tamaño de los APK es algo importante para los usuarios. La reducción de código ayuda a reducir el tamaño de los APK eliminando el código y los recursos sin usar, así como haciendo que el código usado ocupe menos (procesos también conocidos como minificación y ofuscación).

Es por esto que estamos invirtiendo esfuerzos en hacer que la reducción del código sea más rápida y eficiente. Y nos alegra mucho poder anunciar que el reductor de código de próxima generación, R8, está disponible para probar como parte de Android Studio 3.3 beta.

R8 hace la reducción, el desugaring, y el dexing en un único paso. Y comparado con la solución de reducción actual, Proguard, R8 reduce el código más rápido al mismo tiempo que mejora el tamaño de salida.

Las siguientes gráficas vienen de probar la aplicación Santa Tracker. Podéis encontrar el proyecto junto a los detalles del benchmark en el repositorio de GitHub:

Cómo probarlo

R8 está disponible en la beta de Android Studio 3.3 y funciona con las reglas existentes de Proguard. Para probarlo, poned lo siguiente en el archivo de vuestro proyecto de gradle.properties:

android.enableR8=true

Para los más aventureros, R8 también tiene un modo completo que no es directamente compatible con Proguard. Y para probar dicho modo, podéis poner lo siguiente en vuestro gradle.properties:

android.enableR8.fullMode=true

Esto habilita más optimizaciones, que pueden reducir el tamaño de la aplicación aún más. Sin embargo, debéis ser conscientes de que es posible que hagan falta reglas adicionales para hacer que funcione bien.

Ya hemos probado que R8 funcione correctamente y con un buen rendimiento en numerosas aplicaciones y los resultados son prometedores, así que tenemos intención de convertir R8 en el reductor por defecto en Android Studio pronto.

Por favor, si tenéis la ocasión, dadle una oportunidad a R8 ya que nos encantaría escuchar vuestras opiniones al respecto. También podéis informar sobre errores usando este enlace.