Spotify har åpnet Ruler-verktøyet sitt for å hjelpe apputviklere med å analysere appstørrelsene deres. Det er en enkel måte å identifisere store avhengigheter.
Når du installerer apper i Google Play Store, foretrekker brukere vanligvis mindre appstørrelser. Det kan være på grunn av begrenset lagringsplass eller begrenset nedlastingsbåndbredde, eller noen brukere foretrekker bare en raskere installasjon. Likevel har Spotify et verktøy kalt «Linjal» som den bruker til å måle og analysere størrelsen på Android-appene sine for å finne ut hvordan de skal krympes ned. Nå lager selskapet det verktøyet åpen kildekode og gratis å bruke for alle utviklere som ønsker å bruke det.
Apper publisert i Google Play Store blir nå vanligvis lastet opp i form av en Android App Bundle. Når en bruker ber om en app for installasjon, genererer Google Play Store en optimalisert APK for sluttbrukeren som installerer appen. Ruler etterligner denne prosessen for å lage en APK som er nøyaktig i forhold til hva sluttbrukeren skal motta. For hver fil fanger Ruler deretter to målinger:
- Nedlastingsstørrelse: Byte overføres over nettverket når en bruker laster ned appen
- Installasjonsstørrelse: Bytes en fil tar opp på enheten når appen er installert
Ruler kan deretter skanne gjennom en app og finne listen over filer inne i og deres størrelser. Den kan også finne alle Gradle-modulene og avhengighetene som bidrar til størrelsen på appen. Gjennom dette opprettes en andre liste over alle komponenter og deres innhold. Kombinasjonen av begge listene gjør det mulig å gruppere alle filene i appen etter kilden og bestemme hvor mye hver modul og avhengighet bidrar til den totale appstørrelsen. Det er også andre metoder involvert, og det er verdt å sjekke ut selskapets ingeniørblogginnlegg å lære mer.
Spotify sier at den viktigste Spotify-appen har over 1000 Gradle-moduler og hundrevis av tredjepartsavhengigheter, og at Ruler har bidratt til å redusere appstørrelsen med litt over 9 % de siste seks månedene. Selskapet sier at det eksporterer appstørrelsesdata en gang om dagen, ved å bruke den nyeste hovedbygningen. Den kan bruke disse dataene til å spore historiske trender, både for appen som helhet og individuelle moduler og tredjepartsavhengigheter. Påvirkningen av appstørrelsen av hver pull-forespørsel blir også analysert slik at tidlig tilbakemelding kan gis til utviklere.
Ruler er fullstendig skrevet i Kotlin, og for å bruke den trenger du bare å bruke plugin-en på Android-prosjektet ditt og kjøre en enkelt Gradle-oppgave. Du kan sjekke ut Ruler's GitHub for å lære hvordan du integrerer det i prosjektet ditt.