Vinted's Android team shares their full migration from Dagger/Anvil to Metro, a modern Kotlin-first dependency injection framework. Forced by Anvil entering maintenance mode and K2 incompatibility, they chose Metro for its interoperability, Kotlin idioms support, and fast growth. The migration of a large codebase with hundreds of Gradle modules involved mass import replacements, custom KSP code generation to handle 100+ legacy Android Injector fragments, and navigating instability in Metro's 0.x versions. The result: CI build times improved by 6–25% depending on scenario, K2 and incremental compilation were unlocked, and developer confidence in DI increased significantly.
Sort: