A curated list of tools, frameworks, libraries, and resources for Android development — covering Kotlin, Jetpack, architecture, testing, performance, and deployment.
- Languages & Core Tools
- UI Frameworks
- Architecture & Patterns
- Networking
- Data Persistence
- Dependency Management
- Testing
- CI/CD & Distribution
- Performance & Debugging
- Security
- Learning & Resources
Core technologies and tools for building Android applications.
- Kotlin — Primary programming language for modern Android development.
- Java — Legacy and still-supported language for Android.
- Android Studio — Official IDE for Android development.
- Gradle — Build automation tool used for Android projects.
- Kotlin Multiplatform — Framework for sharing code across platforms.
Libraries and tools for building Android user interfaces.
- Jetpack Compose — Declarative UI toolkit for Android.
- Android Views — Traditional UI system for Android apps.
- Material Design — Design system for building consistent UIs.
- ConstraintLayout — Flexible layout system for complex UI designs.
- MotionLayout — Layout for managing motion and animations.
Approaches for structuring scalable and maintainable Android applications.
- MVC (Model-View-Controller) — Traditional architecture pattern.
- MVVM (Model-View-ViewModel) — Common Android architecture with ViewModel support.
- MVI (Model-View-Intent) — Unidirectional data flow architecture.
- Clean Architecture — Layered architecture for maintainability and testability.
- Android Architecture Components — Official libraries for lifecycle, navigation, and data handling.
Libraries and tools for handling API communication.
- Retrofit — Type-safe HTTP client for Android.
- OkHttp — HTTP client for Android and Java.
- Ktor — Kotlin-based networking framework.
- Apollo GraphQL — GraphQL client for Android.
Tools for storing and managing local data.
- Room — Persistence library built on SQLite.
- SQLite — Embedded relational database engine.
- DataStore — Modern data storage solution replacing SharedPreferences.
- Realm — Mobile database for Android.
- ObjectBox — High-performance object database for mobile.
Tools for managing project dependencies.
- Gradle — Build and dependency management system.
- Maven Central — Repository for Java and Android libraries.
- JitPack — Build system for publishing GitHub projects as dependencies.
Frameworks and tools for ensuring code quality and reliability.
- JUnit — Unit testing framework for Java and Kotlin.
- Espresso — UI testing framework for Android.
- Mockito — Mocking framework for unit tests.
- Robolectric — Unit testing framework that runs Android tests on the JVM.
- UI Automator — UI testing across apps.
Tools and platforms for building, testing, and releasing Android apps.
- Fastlane — Automation for building and releasing Android apps.
- Bitrise — CI/CD platform for mobile apps.
- GitHub Actions — Workflow automation platform.
- Google Play Console — Platform for managing and distributing apps.
- Firebase App Distribution — Beta testing and app distribution.
Tools for profiling and optimizing app performance.
- Android Profiler — Performance profiling tools in Android Studio.
- LeakCanary — Memory leak detection library.
- Stetho — Debugging bridge for Android apps.
- Flipper — Debugging platform for mobile apps.
Tools and practices for securing Android applications.
- Android Keystore — Secure key storage system.
- OWASP Mobile Security — Security guidelines and best practices.
- SafetyNet — API for device integrity and security checks.
- SQLCipher — Encrypted SQLite database.
Educational resources and references for Android developers.
- Android Developers — Official documentation and guides.
- Kotlin Documentation — Official Kotlin language documentation.
- Android Weekly — Weekly newsletter for Android developers.
- Ray Wenderlich (Kodeco) — Tutorials and courses for Android development.
- Google Codelabs — Hands-on Android tutorials.
- Awesome Mobile Development — Tools and frameworks for mobile apps.
- Awesome iOS Development — Tools and resources for iOS development.
- Awesome Kotlin — Resources for Kotlin programming.
- Awesome DevOps — DevOps tools and practices.
Contributions are welcome. Please ensure your submission fully follows the requirements outlined in CONTRIBUTING.md, including formatting, scope alignment, and category placement.
Pull requests that do not adhere to the contribution guidelines may be closed.