Exploring Dynamic Feature Modules
summary
Dynamic Feature Modules require an AAB and a version catalog, and enable splitting an app into multiple APKs; Cash App experiments with turn entire app into a dynamic feature and hits concrete limits: an 800‑module codebase with ~70 Android devs, internal build at ~80MB (Play Store install ~20–30MB), and practical slowdown past ~50 dynamic features. Key gotchas are diamond dependency error, manifest/resource merging failures, the need for reflection and Dagger wiring, use of SplitInstallManager, and benefits from the focus plugin to shrink the IDE working set.
AI-written summary · about
chapters (7)
- 0:00Introduction to dynamic features
- 1:04Cash App modularization history
- 21:56Dynamic features benefits and strategy
- 23:20Gotchas with dynamic features
- 31:00Implementation and architecture
- 39:49Team size and focus benefits
- 41:49Summary and future exploration
related talks
30mDynamic App Modules: Building For the Next Billion
45mArchitecture for AppBundles
42mForget everything you know about APKs
32mBuild a modular Android app architecture
35mArchitecture for App Bundles
42mEverything They Don’t Tell You About Dynamic Features and Instant Apps
35mOptimize App Downloads with Android App Bundle and Dynamic Delivery
34mForget everything you know about APKs
