Al instalar aplicaciones en Google Play Store, los usuarios suelen preferir tamaños de aplicación más pequeños. Esto puede deberse a un espacio de almacenamiento limitado o a un ancho de banda de descarga limitado, o incluso algunos usuarios prefieren una instalación más rápida. Sin embargo, Spotify tiene una herramienta llamada "Ruler" que utiliza para medir y analizar el tamaño de sus aplicaciones Android con el fin de averiguar cómo reducirlas. Ahora la empresa está haciendo que esa herramienta sea de código abierto y de uso gratuito para cualquier desarrollador que quiera utilizarla.

Las aplicaciones publicadas en Google Play Store ahora se suelen cargar en forma de paquete de aplicaciones Android. Cuando un usuario solicita la instalación de una aplicación, Google Play Store genera un APK optimizado para el usuario final que instala la aplicación. Ruler imita este proceso para crear un APK que se ajuste exactamente a lo que debería recibir el usuario final. Para cada archivo, Ruler captura dos mediciones:

  1. Tamaño de descarga:bytes transferidos a través de la red cuando un usuario descarga la aplicación
  2. Tamaño de instalación:bytes que ocupa un archivo en el dispositivo una vez que se ha instalado la aplicación

Ruler puede entonces escanear una aplicación y encontrar la lista de archivos dentro de ella y sus tamaños. También puede encontrar todos los módulos y dependencias de Gradle que contribuyen al tamaño de la aplicación. A través de esto, se crea una segunda lista de todos los componentes y sus contenidos. La combinación de ambas listas permite agrupar todos los archivos de la aplicación por su origen y determinar cuánto contribuye cada módulo y dependencia al tamaño general de la aplicación. También hay otros métodos involucrados, y vale la pena consultar lapublicación del blog de ingenieríade la empresa para obtener más información.

Spotify afirma que la aplicación principal de Spotify tiene más de 1000 módulos Gradle y cientos de dependencias de terceros, y que Ruler ha ayudado a reducir el tamaño de la aplicación en poco más del 9 % en los últimos seis meses. La empresa afirma que exporta datos sobre el tamaño de la aplicación una vez al día, utilizando la última compilación principal. Puede utilizar estos datos para realizar un seguimiento de las tendencias históricas, tanto de la aplicación en su conjunto como de los módulos individuales y las dependencias de terceros. También se analiza el impacto de cada solicitud de incorporación de cambios en el tamaño de la aplicación para poder proporcionar comentarios tempranos a los desarrolladores.

Ruler está completamente escrito en Kotlin y, para usarlo, todo lo que necesitas hacer es aplicar el complemento a tu proyecto de Android y ejecutar una sola tarea de Gradle. Puedes consultarel GitHubde Ruler para aprender a integrarlo en tu proyecto.