MR_DAN:
1) co říká
DACAN: , 21 je nejpohodlnější pro tebe, plná podpora multidex v ART runtimu, rychlejší vývojovej cyklus a ty drobnosti ala vectory atd, plus od 19 je plná podpora RTL jazyků a UI, pokud cheš dělat něco globálního, tak v tomhle si od 19 ušetříš práci.
2) Dagger2 je jasnej, ale pokud bys to chtěl používat jako
YAZZMAN:, tak doporučím kouknout po nějaký další plugin knihovně, která ti dovolí těm presenterům zachovat jednoduše stav a aynchroní operace při rotacích obrazovky a podobně.
3) v podstatě se ti to blíží komplet k hezkýmu Java vývoji, můžeš si přidat i nějaký ORM, využít pořádně MVVM databinding, kdy se ti deklarativně napsaný UI obnovuje podle změn na modelu bez zbytečnýho boilerplate kodu, message bus a podobně, všechno na androidu už je, případně pokusy o jiné věci typu unidirect Jedux,