AppJoint
Cross module Android development made easy!
...In complex apps broken into multiple modules or “features,” invoking methods or classes across module boundaries can become cumbersome or tightly coupled. AppJoint uses a small set of annotations and a simple runtime API to decouple modules: one module can declare a method interface, annotate it, and other modules can call it dynamically without direct dependency on the implementation. The tool hides much of the boilerplate of dependency injection or manual wiring of interfaces. It allows progressive modularization: you can incrementally introduce AppJoint in parts of an existing app without rewriting everything. ...