Android Clean Architecture is a sample Android application demonstrating Robert C. Martin's Clean Architecture principles in a mobile project. The codebase separates responsibilities into presentation, domain, and data layers. This organization demonstrates how business rules can remain independent from Android-specific interface and persistence concerns. The project accompanies a series of articles explaining the architectural decisions and their evolution. Its build configuration includes unit, integration, lint, instrumentation, and acceptance testing workflows. Gradle commands are provided for building, installing, and executing the different test suites. The repository is written in Java, while the author points developers to a newer Kotlin-based version for more modern Android development.
Features
- Presentation, domain, and data separation
- Clean Architecture implementation example
- Unit and integration testing
- Espresso and instrumentation tests
- Gradle build and deployment workflows
- Companion architecture documentation