Skip to content

brandonhimpfen/awesome-android-development

Repository files navigation

Awesome Android Development Awesome Lists

GitHub Sponsors   Ko-Fi   PayPal   Stripe   X   Facebook

A curated list of tools, frameworks, libraries, and resources for Android development — covering Kotlin, Jetpack, architecture, testing, performance, and deployment.

Contents

Languages & Core Tools

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.

UI Frameworks

Libraries and tools for building Android user interfaces.

Architecture & Patterns

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.

Networking

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.

Data Persistence

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.

Dependency Management

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.

Testing

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.

CI/CD & Distribution

Tools and platforms for building, testing, and releasing Android apps.

Performance & Debugging

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.

Security

Tools and practices for securing Android applications.

Learning & Resources

Educational resources and references for Android developers.

Related Awesome Lists

Contribute

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.

License

CC0

About

A curated list of tools, frameworks, libraries, and resources for Android development.

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages