In this article we will explore the most awesome android libraries, examples, apps as well as resources. All of them are open source.

Libraries

Charts

  1. AChartEngine

Charting Engine.

  1. EazeGraph

Chart and graph library.

  1. WilliamChart

Chart library with good motion capabilities.

  1. HelloCharts

Chart and graph library with support for scaling, scrolling and animations.

  1. MPAndroidChart

An Android chart and graph library supporting scaling and dragging by gesture.

  1. ArcChartView

Draw Creative Statistic Arc Charts.

  1. AnyChart

Data visualization library, Interactive charts.

Cloud Services

  1. CloudRail

Unified API Library for: Cloud Storage, Social Profiles, Payment, Email, SMS & POIs.

Data binding

  1. Anvil

A small library to create reactive UI components, inspired by React. Provides data binding and event listener binding, fits well for MVVM.

  1. Data Binding Library

Official Android Data Binding Library to write declarative layouts and minimize the glue code necessary to bind application logic and layouts.

Dependency Injection

  1. Dagger 2

A fast dependency injector for Android and Java.

  1. Butter Knife

View "injection" library for Android.

  1. ActivityStarter

Android Library that provide simpler way to start the Activities with multiple arguments.

  1. AndroidAnnotations

Java annotations with dependency injection at compile time.

  1. Toothpick

A scope tree based Dependency Injection (DI

Android Services

  1. Remoter

An alternative to Android AIDL for Android Remote IPC services using plain java interfaces.

  1. Service Connector

Bind Android services and callbacks to fields and methods.

Game Development

  1. Libgdx

Cross-platform game engine and SDK. [Open Source](https://github.com/libGDX/libGDX

  1. Vuforia

Augmented Reality library.

  1. Unity

Cross-platform game creation system.

  1. Rajawali

Android OpenGL ES 2.0/3.0 Engine

  1. Cocos2d-x

Cross-platform 2d game framework.

  1. JustWeEngine

An easy open source Android Native Game FrameWork.

Security

  1. libsignal-protocol-java

A ratcheting forward secrecy protocol that works in synchronous and asynchronous messaging environments.

  1. Themis

Multi-language framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.

GUI

  1. Pull to refresh

A swipe refresh layout is available in the v4 support library.

  1. Cardslib

Android Library to build a UI Card.

  1. AndroidStaggeredGrid

Grid view which supports multiple columns with rows of varying sizes.

  1. Flow

Library that helps with describing an app as a collection of moderately independent screens.

  1. SortableTableView

An Android library containing a simple TableView and an advanced SortableTableView providing a lot of customisation possibilities to fit all needs.

  1. MaterialProgressBar

Material design ProgressBar with consistent appearance.

  1. AndroidFillableLoaders

Fillable progress view working with SVG paths. Nice option too for creating interesting app logos.

  1. NexusDialog

Allows you to easily and quickly create forms in Android with little code.

  1. Snap RecyclerView Utils

Populate Single or multiple Layout RecyclerView without creating an Adapter.

  1. MultiSnapRecyclerView

Android library for multiple snapping of RecyclerView

  1. SwipeableCard

Implementation of swipe card like StreetView!!

  1. ElasticProgressBar

Beautiful loading bar.

  1. EntryScreenManager

Intro/Entry/Walkthrough/Starting Screens.

  1. EasyIntro

The flexible, easy to use, all in one app intro library for your Android project.

  1. Material-Calendar-View

Material Design Calendar compatible with API 8+

  1. CrunchyCalendar

A material calendar widget with infinite scrolling, date range selection and color customization.

  1. SmoothOverscrollableScrollView

Small custom view with smooth overscroll. You can add header with scale background

  1. SectionedRecyclerViewAdapter

An Adapter that allows a RecyclerView to be split into Sections with headers and/or footers.

  1. DragListView

Drag and drop to reorder items in a list, grid or board.

  1. Animated Expanding ListView

Animated Expanding ListView provides a fancy animation on expanding or collapsing the content of a listview item.

  1. TastyToast

Toasts with icons and color.

  1. DotLoader

A customizable loading animation with Dots.

  1. PodSlider

A customizable slider widget adhering to material design specs.

  1. TapTargetView

An implementation of tap targets from the Material Design guidelines for feature discovery.

  1. ShowCaseView

The ShowcaseView library is designed to highlight and showcase specific parts of apps to the user with a attractive and flat overlay.

  1. MaterialIntroScreen

Material Intro Screen implementation with easily extensible API.

  1. FloatingView

FloatingView can make the target view floating above the anchor view with cool animation.

  1. Timecon

Easy-to-use animated clock icon

  1. Audiogram

Lightweight audiowave progressbar

  1. Bubbles for Android

Facebook like chat bubble library

  1. [Litho (By Facebook)

](https://github.com/facebook/litho

  1. MultiViewAdapter

Recyclerview Adapter library to create composable view holders.

  1. LGSnackbar

An easy to use and customisable wrapper of the native Android Snackbar which stays visible across multiple activities.

  1. ShimmerLayout

Memory efficient shimmering effect for Android applications.

  1. CircleProgressBar

A simple library for creating circular progressbars for Android.

  1. Easy-Signature-Android

An simple ui library that provides a plugable signature view.

  1. Flashbar

A highly customizable, powerful and easy-to-use alerting library for Android.

  1. YuanaItemSettingView

Customizable Item Setting View for Android.

  1. Gradients

A curated collection of splendid gradients.

  1. OneAdapter

RecyclerView Adapter with multiple modules and hooks to simplify and enhance the use while preventing common mistakes.

Paginate

  1. NoPaginate

Simple Android pagination library

ActionBar

  1. ActionBarSherlock

ActionBar for older Android versions.

  1. FadingActionBar

Fading action bar effect that can be seen in the new Play Music app.

Navigation

  1. SlidingMenu

Library to create applications with slide-in menus.

  1. SlidingTutorial

Simple library that helps to create awesome sliding android app tutorials.

  1. PagerSlidingTabStrip

An interactive indicator to navigate between the different pages of a ViewPager.

  1. Page View indicator

Support for horizontally scrolling ViewPager.

  1. RecyclerTabLayout

An efficient TabLayout library implemented with RecyclerView.

  1. MaterialDrawer

Simple take on a material design navigation drawer.

  1. Debug-Artist

Debug menu to enable leakcanary, scalpel and others easy.

  1. Floating-Navigation-View

A simple Floating Action Button that shows an anchored Navigation View.

Animations

  1. Rebound

Rebound is a Java library that models spring dynamics.

  1. Android View Animations

Cute view animation collection.

  1. Android-Transition

Allows the easy creation of view transitions that react to user inputs.

  1. Android-View-Actions

Makes creating complex animations for views easy.

  1. Swipper

Android library for swipeable gestures to control volume , brightness and seek .

  1. Spotlight

Android Library that lights items for tutorials or walk-throughs etc...

Images

  1. Crescento

Explore new style in material design by adding curve below image view.

  1. android-crop

Library project for cropping images.

  1. CircularImageView

Custom view for circular images while maintaining the best draw performance.

  1. Android-Image-Filter

Library project for applying image filters easily.

  1. Compressor

Compressor is a lightweight and powerful android image compression library.

  1. ShapeImageView

Library to display images in different shapes.

Inputs

  1. FloatingLabel

FloatingLabel Allows you to create a blow kind of EditText. Doesn't have Gradle or Maven Support.

  1. MaterialEditText

Supporting Floating Labels, Single Line Ellipsis, Max/Min Characters, Helper Text and Error Text with Custom Colors.

  1. EmojiCompat

Adds emoticons to your app

  1. MaterialSearchBar

Material Design Search Bar for Android

  1. InputMask

Pattern-based user input formatter, parser and validator.

  1. SweetPassword

Password EditText that allows to custom toggle button

  1. VoiceOverlay

An overlay that gets your user’s voice permission and input as text in a customizable UI.

View Pagers

  1. Material Dots Indicators

Three Material Dots Indicators styles for View Pagers.

Loading Images

  1. Picasso

A powerful image downloading and caching library for Android.

  1. Universal Image Loader

Asynchronous, out of the box loading and caching of images.

  1. Glide

An image loading and caching library for Android focused on smooth scrolling, Recommended by Google.

  1. Fresco

An Android library for managing images and the memory they use.

  1. Glide Bitmap Pool

Glide Bitmap Pool is a memory management library for reusing the bitmap memory.

  1. Coil

Image loading for Android backed by Kotlin Coroutines.

Media Picker

  1. MediaPicker

Android Library that lets you to select multiple images, video or voice for Android

  1. Android Image Picker

A library that makes images and videos selection from gallery feels easy. It also support GIF and simple camera action

Video

  1. ijkplayer

Android/iOS video player based on FFmpeg n3.2, with MediaCodec, VideoToolbox support.

  1. Exoplayer

ExoPlayer is an application level media player for Android, allow playing audio and video both locally and over the Internet. Supports features like Dynamic adaptive streaming over HTTP (DASH

  1. VideoPlayView

Custom Android view with video player, play/stop, loader and placeholder image.

Camera

  1. MagicalCamera

Simple way to take or select photos of your gallery, with other features for manage pictures.

  1. Camera

Use Android camera to take pictures and videos, based on camera2 api.

Field Validation

  1. Convalida

A simple and annotation-based way to validate your input fields.

JSON

  1. Gson

Gson is a Java library used for serializing and deserializing Java objects from and into JSON.

  1. Jackson JSON Processor

High-performance JSON processor.

  1. Moshi

A modern JSON library for Android and Java.

Crash monitoring

  1. Fabric Crashlytics

Easy crash reporting solution.

  1. HockeyApp

Distribution, Crash Reports, Feedback and Analytics

  1. Splunk MINT

Monitoring, Crash Reports, Real time data, Statistic.

  1. Bugsnag

Cross platform error monitoring. Free tier. Support for SDK & NDK. Error reports include data on device, release, user, and allows arbitrary data.

  1. Catcho

No Force Close any more.

  1. Apteligent

Cross platform crash reporting/analytics solution. Supports NDK log.

  1. Instabug

Bug reporting, Crash Reporting, In-app Feedback.

Networking

  1. Ion

Good networking library for android.

  1. OkHttp

An HTTP+SPDY client for Android and Java applications.

  1. RoboSpice

Library that makes writing asynchronous network requests easy.

  1. IceNet

Fast, Simple and Easy Networking for Android

  1. Android Volley

Official Android HTTP library that makes networking for easier and faster.

  1. IceSoap

Easy, asynchronous, annotation-based SOAP for Android.

  1. node-android

Run Node.js on Android.

  1. HappyDns

A Dns library, user can use custom dns server, dnspod httpdns. Only support A record.

  1. RESTMock

HTTP Web server for mocking API responses in Android Instrumentation tests.

  1. Fast-Android-Networking

A Complete Fast Android Networking Library that also support HTTP/2.

Logger

  1. logger

Simple, pretty and powerful logger for android

  1. timber

A logger with a small, extensible API which provides utility on top of Android's normal Log class.

  1. LoggingInterceptor

An OkHttp interceptor which pretty logs request and response data.

  1. Bugfender

Upload your logs and check them online, specially made for mobile

  1. EzyLogger

Simple Lightweight logger

  1. Logback Android

Logback port to Android which provides a highly configurable logging framework for Android apps.

Notifications

  1. android-remote-notifications

Pulls notifications from a remote JSON file and shows them in your app.

  1. Android HeartBeat Fixer

Way to set heartbeat interval and users receive PushNotifications from GCM.

Database

  1. Cupboard

Access the sqlite easily via direct database access or through the ContentProvider framework.

  1. DbInspector

Provides a simple way to view the contents of the in-app database for debugging purposes.

  1. SQLite Asset Helper

manage database creation and version management using an application's raw asset files.

  1. Realm

The alternative to SQLite and ORMs: Simple, modern and fast! Object oriented API and multi platform support.

  1. Realm Asset Helper

Copies a realm database from the apk assets folder. Efficiently handles versioning of read-only realm databases.

  1. RestorableSQLiteDatabase

A wrapper to replicate android's SQLiteDatabase with restoring capability.

  1. Nitrite Database

A NoSQL embedded document store for Android with MongoDb like API.

ORM

  1. requery

Compile time ORM and SQL query library for Java & Android.

  1. GreenDAO

Light & fast ORM solution.

  1. ORMLite

Lightweight ORM Java package for JDBC and Android.

  1. ActiveAndroid

Active record style ORM.

  1. Sugar ORM

Insanely easy way to work with Android Databases.

  1. DBFlow

Fast and powerful ORM with compile-time annotation processing.

  1. NexusData

Object graph and persistence framework for Android.

  1. SimpleNoSQL

A simple NoSQL client for Android. Meant as a document store using key/value pairs and some rudimentary querying. Useful for avoiding the hassle of SQL code.

  1. RxSimpleNoSQL

Reactive extensions for SimpleNoSQL. Manipulate entities using Observables.

REST

  1. Retrofit

Retrofit turns your REST API into a Java interface.

  1. Spring for Android - Rest Template

A Rest Client for Android.

Testing

  1. Robotium

Test automation framework for black-box UI tests.

  1. Roboletric

Unit test framework to run tests inside the JVM on your workstation, not in the emulator.

  1. AssertJ Android

AssertJ assertions geared towards Android.

  1. Green Coffee

Run your Cucumber tests in your Android instrumentation tests.

Tracking

  1. MobileAppTracking

Tracking your marketing campaigns across multiple ad networks.

  1. Mixpanel

Analytics platform to analyze the users.

  1. Countly

Open source mobile & web analytics, push notifications and crash reporting platform, based on Node.js, MongoDB and Linux.

  1. CleverTap

Analytics platform and user-engagement platform with 1 million free events

Maps

  1. Google-Directions-Android

Allows you to calculate the direction between two locations and display the route on a Google Map using the Google Directions API.

  1. Android Maps Extensions

Extending capabilities of Google Maps Android API v2, adding marker clustering among other things

  1. MapScaleView

Scale bar for Google Maps Android API

  1. GLMap

Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included.

Utility

  1. Conceal SharedPreferences

Secured Preferences using Facebook Secure Encryption called Conceal.

  1. EventBus

EventBus is a library that simplifies communication between different parts of your application.

  1. Otto

Event Bus for Android.

  1. Weak handler

Memory safer implementation of android.os.Handler.

  1. Byte Buddy

Runtime code generation library with support for Android.

  1. Secure Preference Manager

Secure Preference Manager for android. It uses various Encryption to protect your application's Shared Preferences.

  1. LeakCanary

Catch memory leaks as they occur.

  1. Drekkar

An Android event bus for WebView and JS.

  1. Androl4b

A vm for assessing android applications.

  1. DroidMVP

Android library to help you incorporate MVP along with Passive View and Presentation Model patterns into your app.

  1. EasyDeviceInfo

Get device information in a super easy way.

  1. Shutter-Android

Capture photos/videos from device camera or get photos/video from gallery app with no runtime permissions needed.

  1. Validator

An utilities class to validate text inside TextInputLayout.

  1. Keyboard Visibility Event

A DSL to handle soft keyboard visibility change event.

  1. TimeIt

A stopwatch library for android which makes it easy to start, pause, display and maintain multiple stopwatches in an app.

  1. Reactor

Reactor is a fast and secure key-value library for Android.

Debugging Tools

  1. Linx

Show logcat inside the device for debug builds

  1. Scalpel

View the entire hierarchy in 3d in the phone.

  1. Stetho

Debug hierarchy and network from chrome.

  1. Android Debug Database

Android Debug Database is a powerful library for debugging databases and shared preferences in Android applications.

  1. Android Debug Bridge - ADB

a command-line tool to assist in debugging Android-powered devices

  1. ADB Enhanced

a command-line wrapper around ADB for developers, so that, developers don't have to remember esoteric version-dependent commands

  1. Pidcat

a colored command-line ADB wrapper that only shows log entries for a specific application package

  1. AppSpector

Remote Android and iOS debugging and data collection service. You can debug networking, logs, SQLite and mock device's geo location.

Wireless

  1. SmartGattLib

Simplifies the work with Bluetooth SMART devices (a.k.a. Bluetooth Low Energy in Bluetooth 4.0

Chat & Messaging

  1. Applozic Android Chat SDK

Android Chat and Messaging SDK for adding real time chat and in-app messaging into your android application.

  1. Qiscus SDK

Qiscus SDK is a lightweight and powerful android chat library. Qiscus SDK will allow you to easily integrating Qiscus engine with your apps to make cool chatting application.

  1. Kommunicate Live Chat SDK

Kommunicate provides open source live chat sdk in android. Kommunicate lets you add real time live chat and in-app messaging in your mobile (android, iOS

  1. CometChat Voice, Video and Text Chat SDK with UI

Add voice, video and text chat to your app (and website

  1. Build a one-on-one Android chat app using Kotlin

Build a one-one-one Android chat app in Kotlin within few minutes using CometChat Pro. This tutorial discusses the features such as login, getting list of contacts, user presence indicators, sending/receiving messages etc.

  1. Stream Chat

Comprehensive SDK & Components for real-time chat, powered by [Stream](https://getstream.io/chat/

  1. Add Push Notifications to Your Android Chat App Using Kotlin

Add push notifications in your Android chat apps in Kotlin with the help of CometChat Pro and Firebase Cloud Messaging (FCM

Custom Dialog

  1. MediaRecorderDialog

Custom Dialog to record audio, store it and play it in your phone.

  1. HijriDatePicker

offers a hijri (Islamic Calendar

  1. Noty

A simple library for creating animated alerts/dialogs/warnings.

Version Checking

  1. AppUpdater

comprehensive and feature rich library, including support for checks at Amazon and FDroid.

  1. Gandalf

comprehensive features and a "companion" iOS solution.

  1. Siren

focused feature set that mimicks the popular iOS library of the same name. Supports Play and Amazon.

  1. Fit

version checking callback framework with no UI.

Date & Time

  1. ThreeTen Android Backport

An adaptation of the JSR-310 backport for Android.

  1. Joda-Time Android

Joda-Time library with Android specialization.

  1. True Time

Android NTP time library. Get the true current time impervious to device clock time changes.

Runtime Permissions

  1. Permission Dispatcher

Simple annotation-based API to handle runtime permissions.

  1. RxPermissions

Android runtime permissions powered by RxJava.

  1. NoPermission

Simple Android library for permissions request. Consists of only one class.

  1. Ask-Permission

Simple RunTime permission manager.

  1. Gota

Simplifying Android Permissions.

  1. EasyPermissions

EasyPermissions is a wrapper library to simplify basic system permissions logic when targeting Android M or higher.

Payments

  1. Square In-App Payments for Android

Integrate Square payments into your mobile app with Digital wallet and stored card support for quick checkout.

Other

  1. Android Support library

The Android Support Library package is a set of code libraries that provide backward-compatible versions of Android framework API.

  1. Google Play Services

Library to access Google services, such as account syncing, Google+ (sharing, single sign-on

  1. Tape

A lightning fast, transactional, file-based FIFO for Android and Java.

  1. Guava: Google Core Libraries for Java

Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.

  1. Android Scripting

Allows to run scripting languages on Android.

  1. Android Priority Job Queue

Implementation of a Job Queue to easily schedule jobs (tasks

  1. RateMeMaybe

Asks the user if (s

  1. Easy Rating Dialog

Lib provides a simple way to display an alert dialog for rating app.

  1. ZXing Android-Integration

Integration with Barcode Scanner via Intent.

  1. Gradle Retrolambda Plugin

Java 8 Lambdas on Android!

  1. RxJava- RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
  2. RxAndroid

Adds minimum RxJava bindings for easy writing of reactive Android java code.

  1. RxBinding- RxBinding – RxJava binding APIs for Android UI widgets from the platform and support libraries.
  2. Caffeine

A collection of utility classes that help make Android development faster.

  1. AboutLibraries

Automatically generates an About this app section, with a list of used libraries.

  1. AudioPlayerView

A view that loads audio from an url and have basic playback tools.

  1. andle

command line tool help you sync dependencies, sdk or build tool version.

  1. Typography

An Android library that makes it easy to use custom fonts in views.

  1. Calligraphy

Custom fonts in Android an OK way.

  1. transai

command line tool help you manage localization string files.

  1. Android-Link-Preview

It makes a preview from an url, grabbing all the information such as title, relevant texts and images.

  1. Sensey

Detecting gestures in a snap.

  1. UserAwareVideoView

A customized video view that will automatically pause video is user is not looking at device screen!

  1. Flexbox Layout

FlexboxLayout is a library which brings the similar capabilities of CSS Flexible Box Layout Module to Android.

  1. Agile Boiler Plate

The boiler plate is based on MVP architecture and it is fully based on Dependency Injection design pattern using Dagger2.

  1. Gradle buildSrcVersions

A kotlin dsl to simplify dependencies management

  1. Teller

Teller facilitates the downloading, saving, and reading of the cached data of your app. Keep your user's data fresh and remove those annoying loading screens!