AppJoint is a minimalist Android componentization tool that aims to simplify cross-module communication in modularized Android projects. 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. The design focuses on being lightweight and easy to adopt—only a few annotations and calls are needed. In multi-module Android architectures, it helps maintain loose coupling and cleaner module boundaries.
Features
- Enables cross-module method invocation with minimal boilerplate
- Uses only three annotations plus one API—low learning curve
- Supports progressive (incremental) adoption of componentization
- Simplifies decoupling and modularization in Android apps
- Easy Gradle plugin integration in project-level and module-level builds
- Ideal for migrating monolithic codebases toward componentized architecture