Modernizing Our Android Build System Part I: The Planning
Article Summary
Dropbox's Android build system was so painful that engineers 6+ months in still couldn't create new modules. Time for a rebuild.
The Dropbox Mobile Platform team spent 4 months evaluating whether to stick with their custom BMBF meta-build system, migrate to pure Gradle, adopt Bazel, or switch to Buck. This deep dive covers their rigorous evaluation process and the tradeoffs that shaped their decision.
Key Takeaways
- Bazel delivered 81s cached builds vs 252s for BMBF, but lacked Android Studio support
- BMBF broke Gradle incremental builds by regenerating files every time
- Pure Gradle won: industry standard, low migration cost, immediate access to new features
- Buck ruled out due to poor community support and need for dedicated 3 person team
- Team built working prototypes of each system to compare real build performance
Critical Insight
Dropbox chose Gradle over faster alternatives because developer experience and ecosystem maturity outweighed raw build speed gains.