Dependency injection (DI) frameworks became quite popular among Android developers in the past few years. Why is that? What are the concepts behind those frameworks and why were they built in the first place? What are the (real) advantages of using a DI framework? Can we have DI without those frameworks? This talk aims to answer those questions by discussing the foundation of Android architecture and the common mistakes that Android developers make when using DI frameworks.