A Complete Journey of Android Modularisation
summary
A practical account of splitting a 200k‑line monolith into 150+ modules with 10+ developers, showing concrete wins and tradeoffs: use of Gradle profiler and Gradle Enterprise to track CPU utilization (peaked at ~4.7 cores), moving build logic into included builds, enabling configuration cache, and adopting R namespacing to shrink resource merge cost. Covers public‑API interfaces for feature boundaries, template modules to reduce setup friction, dependency‑graph flattening (avoiding depth >15) and when to stop splitting to avoid worse build times.
AI-written summary · about
chapters (12)
- 0:00Introduction to modularisation
- 1:11When to modularise
- 4:23Goals and benefits of modularisation
- 8:59Build performance and CPU utilisation
- 14:57Dependency depth and parallelisation
- 17:25Starting modularisation with Gradle
- 20:32When to stop modularising
- 22:59Resource and configuration optimisation
- 25:49Navigation challenges in modular apps
- 30:45Legacy code and reusable modules
- 33:56Where to start modularisation
- 35:19Summary and team effort








