I am one of those programmers, trying to get their head around DIP frameworks. I am sure I understand the base principle and I do manual injection in some tests, as described in Joes article. Currently I try hard to use Dagger 2 for Android development, and currently I can't say, that they helped me developing Android Apps better, faster, or test something like the more difficult parts like networking easier. For instance one of the better recommended practices to inject a fake network api for testing is to prepare build variants (android gradle's flavor).