Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Santa Tracker - Moving to Android App Bundle

Chris Banes
February 19, 2019

Santa Tracker - Moving to Android App Bundle

Every year, Google releases the Santa Tracker app to millions of users across the world, wanting to track Santa over the holiday season. Chris will talk through how they managed to get the install APK from 60MB to 10MB, using Dynamic Feature Modules, asset compression and other things.

Chris Banes

February 19, 2019
Tweet

More Decks by Chris Banes

Other Decks in Technology

Transcript

  1. Goals for 2018 ★ Convert more classes over to Kotlin

    (from 26%) ★ Bring our download size to 10MB ★ 2017’s APK was 60MB
  2. pt Base xxxhdpi xxhdpi xhdpi hdpi mdpi ldpi x86_64 arm64

    x86 arm fr en de zh ja Santa + Samsung Galaxy J5: en, arm, xhdpi
  3. Mrs Claus + Pixel: en & fr, arm64, 560dpi pt

    Base xxxhdpi xxhdpi xhdpi hdpi mdpi ldpi x86_64 arm64 x86 arm fr en de zh ja
  4. Mrs Claus + Pixel: en & fr & pt, arm64,

    560dpi pt Base xxxhdpi xxhdpi xhdpi hdpi mdpi ldpi x86_64 arm64 x86 arm fr en de zh ja
  5. hdpi x86_64 mdpi x86_64 xhdpi x86_64 xxhdpi x86_64 ldpi x86_64

    xxxhdpi x86_64 hdpi x86 mdpi x86 xhdpi x86 xxhdpi x86 ldpi x86 xxxhdpi x86 hdpi arm_64 mdpi arm_64 xhdpi arm_64 xxhdpi arm_64 ldpi arm_64 xxxhdpi arm_64 hdpi arm mdpi arm xhdpi arm xxhdpi arm ldpi arm xxxhdpi arm Galaxy Nexus: hdpi, arm. Pre-Lollipop
  6. APK APK Before After (M+) Compressed native libraries Wasted space!

    Uncompressed native libraries Uncompressed native librariesNew!
  7. Uploading an AAB saved us 20% Down to 48.5MB! Go

    try it! ./gradlew bundleRelease Dynamic delivery
  8. ➔ All of the game modules were coupled and messy

    ➔ Had to spend a lot of time breaking them apart ➔ Testing is difficult. Need to upload to Play Store to test What was hard?
  9. Internal test track Byte-for-byte what Play delivers Upload to Play

    Console and have it served immediately to your QA team.
  10. For our final 2018 release... Results Base install: 9.21 MB

    (from 60MB) In total, saved roughly: 42 TB of storage and transfer