Modernizing Our Android Build System Part II: The Execution
Article Summary
Dropbox migrated 75 Android modules from a custom build system to Gradle without breaking their engineering team's workflow. Here's how they pulled it off.
After deciding to abandon their custom BMBF build system (covered in Part I), Dropbox's mobile platform team faced the challenge of actually executing the migration. This meant preserving key features like layered dependencies while unlocking Gradle's flexibility across their entire Android codebase.
Key Takeaways
- Built layered dependency verifier in Kotlin, gaining Gradle caching for free
- Automated 75 module migrations with 500 line Python script
- Integrated Watchman to skip unnecessary code generation on every build
- Reduced P50 local build times by 20% through smart caching
- Zero downtime migration via overcommunication and post release timing
Critical Insight
Dropbox cut build times by 20% while migrating their entire Android codebase to standard Gradle, proving that large scale tooling changes don't require engineering disruption.