A curated list of awesome Android
libraries and resources. For general Java libraries have a look at awesome-java . 14k 3k
Instabug SDK allows Android developers to receive detailed bug reports from users and testers directly from inside the app. It attaches screenshots, screen recordings, network requests, and reproduce steps with each bug report. This minimizes debugging time and helps developers in tracing weird bugs.
Learn more. 🚀
How to Use
Awesome-Android is an amazing list for people who need a certain feature on their app, so the best ways to use are:
AChartEngine - Charting Engine. 405 198
EazeGraph - Chart and graph library. 664 80
WilliamChart - Chart library with good motion capabilities. 3k 751
HelloCharts - Chart and graph library with support for scaling, scrolling and animations. 4k 1k
MPAndroidChart - An Android chart and graph library supporting scaling and dragging by gesture. 18k 6k
ArcChartView - Draw Creative Statistic Arc Charts.
CloudRail - Unified API Library for: Cloud Storage, Social Profiles, Payment, Email, SMS & POIs.
Anvil - A small library to create reactive UI components, inspired by React. Provides data binding and event listener binding, fits well for MVVM. 978 72
Data Binding Library - Official Android Data Binding Library to write declarative layouts and minimize the glue code necessary to bind application logic and layouts.
Dagger 2 - A fast dependency injector for Android and Java. 11k 1k
Butter Knife - View "injection" library for Android.
ActivityStarter - Android Library that provide simpler way to start the Activities with multiple arguments. 315 19
AndroidAnnotations - Java annotations with dependency injection at compile time. 1k 293
Toothpick - A scope tree based Dependency Injection (DI) library for Java. 430 75
Remoter - An alternative to Android AIDL for Android Remote IPC services using plain java interfaces.
Service Connector - Bind Android services and callbacks to fields and methods.
Libgdx - Cross-platform game engine and SDK. Open Source
Vuforia - Augmented Reality library.
Unity - Cross-platform game creation system.
Rajawali - Android OpenGL ES 2.0/3.0 Engine 1k 376
Cocos2d-x - Cross-platform 2d game framework.
JustWeEngine - An easy open source Android Native Game FrameWork. 715 123
libsignal-protocol-java - A ratcheting forward secrecy protocol that works in synchronous and asynchronous messaging environments.
Pull to refresh - A swipe refresh layout is available in the v4 support library.
Cardslib - Android Library to build a UI Card. 5k 2k
AndroidStaggeredGrid - Grid view which supports multiple columns with rows of varying sizes. 5k 1k
Flow - Library that helps with describing an app as a collection of moderately independent screens. 3k 293
SortableTableView - An Android library containing a simple TableView and an advanced SortableTableView providing a lot of customisation possibilities to fit all needs. 777 189
MaterialProgressBar - Material design ProgressBar with consistent appearance. 1k 215
AndroidFillableLoaders - Fillable progress view working with SVG paths. Nice option too for creating interesting app logos. 2k 250
NexusDialog - Allows you to easily and quickly create forms in Android with little code. 19 3
Snap RecyclerView Utils - Populate Single or multiple Layout RecyclerView without creating an Adapter. 75 13
MultiSnapRecyclerView - Android library for multiple snapping of RecyclerView
SwipeableCard - Implementation of swipe card like StreetView!! 611 108
ElasticProgressBar - Beautiful loading bar. 279 39
EntryScreenManager - Intro/Entry/Walkthrough/Starting Screens. 27 10
EasyIntro - The flexible, easy to use, all in one app intro library for your Android project. 67 18
Material-Calendar-View - Material Design Calendar compatible with API 8+ 102 31
SectionedRecyclerViewAdapter - An Adapter that allows a RecyclerView to be split into Sections with headers and/or footers. 598 175
DragListView - Drag and drop to reorder items in a list, grid or board. 330 119
Animated Expanding ListView - Animated Expanding ListView provides a fancy animation on expanding or collapsing the content of a listview item. 126 48
TastyToast - Toasts with icons and color. 1k 248
DotLoader - A customizable loading animation with Dots. 87 18
PodSlider - A customizable slider widget adhering to material design specs. 82 24
TapTargetView - An implementation of tap targets from the Material Design guidelines for feature discovery. 3k 332
ShowCaseView - The ShowcaseView library is designed to highlight and showcase specific parts of apps to the user with a attractive and flat overlay. 24 6
MaterialIntroScreen - Material Intro Screen implementation with easily extensible API. 2k 247
FloatingView - FloatingView can make the target view floating above the anchor view with cool animation. 1k 178
Timecon - Easy-to-use animated clock icon
Audiogram - Lightweight audiowave progressbar 40 12
Bubbles for Android - Facebook like chat bubble library 1k 216
Litho (By Facebook) - A declarative framework for building efficient UIs on Android. 6k 449
MultiViewAdapter - Recyclerview Adapter library to create composable view holders. 273 43
LGSnackbar - An easy to use and customisable wrapper of the native Android Snackbar which stays visible across multiple activities. 13 2
ShimmerLayout - Memory efficient shimmering effect for Android applications. 793 74
CircleProgressBar - A simple library for creating circular progressbars for Android.
Easy-Signature-Android - An simple ui library that provides a plugable signature view.
NoPaginate - Simple Android pagination library 33 6
- Library to create applications with slide-in menus. 7k 4k
SlidingTutorial - Simple library that helps to create awesome sliding android app tutorials. 2k 205
- An interactive indicator to navigate between the different pages of a ViewPager. 3k 1k - Support for horizontally scrolling ViewPager.
RecyclerTabLayout - An efficient TabLayout library implemented with RecyclerView. 914 169
MaterialDrawer - Simple take on a material design navigation drawer. 9k 2k
Debug-Artist - Debug menu to enable leakcanary, scalpel and others easy.
Floating-Navigation-View - A simple Floating Action Button that shows an anchored Navigation View. 791 126
Rebound - Rebound is a Java library that models spring dynamics. 5k 888
Android View Animations - Cute view animation collection. 8k 2k
Android-Transition - Allows the easy creation of view transitions that react to user inputs. 579 79
Android-View-Actions - Makes creating complex animations for views easy.
Swipper - Android library for swipeable gestures to control volume , brightness and seek .
Spotlight - Android Library that lights items for tutorials or walk-throughs etc... 923 55
Crescento - Explore new style in material design by adding curve below image view. 9 1
android-crop - Library project for cropping images. 4k 1k
CircularImageView - Custom view for circular images while maintaining the best draw performance. 1k 287
Android-Image-Filter - Library project for applying image filters easily. 539 188
Compressor - Compressor is a lightweight and powerful android image compression library.
FloatingLabel - FloatingLabel Allows you to create a blow kind of EditText. 246 63 Doesn't have Gradle or Maven Support.
MaterialEditText - Supporting Floating Labels, Single Line Ellipsis, Max/Min Characters, Helper Text and Error Text with Custom Colors. 4k 971
Emojicon - Adds emoticons to your app 3k 878
MaterialSearchBar - Material Design Search Bar for Android 1k 156
InputMask - Pattern-based user input formatter, parser and validator. 385 38
Picasso - A powerful image downloading and caching library for Android. 15k 4k
Universal Image Loader - Asynchronous, out of the box loading and caching of images. 17k 8k
Glide - An image loading and caching library for Android focused on smooth scrolling, Recommended by Google. 20k 4k
Fresco - An Android library for managing images and the memory they use. 15k 4k
Glide Bitmap Pool - Glide Bitmap Pool is a memory management library for reusing the bitmap memory. 239 38
MediaPicker - Android Library that lets you to select multiple images, video or voice for Android 62 23
ijkplayer - Android/iOS video player based on FFmpeg n3.2, with MediaCodec, VideoToolbox support. 17k 5k
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), SmoothStreaming and Common Encryption 10k 3k
Easy-Video-Player - Easy Video Player is very simple and easy to use in our app. 857 203
VideoPlayView - Custom Android view with video player, play/stop, loader and placeholder image. 42 5
MagicalCamera - Simple way to take or select photos of your gallery, with other features for manage pictures. 200 44
Convalida - A simple and annotation-based way to validate your input fields. 11 2
Gson - Gson is a Java library used for serializing and deserializing Java objects from and into JSON. 10k 3k
Jackson JSON Processor - High-performance JSON processor. 725 311
Moshi - A modern JSON library for Android and Java. 4k 322
Fabric Crashlytics - Easy crash reporting solution.
HockeyApp - Distribution, Crash Reports, Feedback and Analytics
Splunk MINT - Monitoring, Crash Reports, Real time data, Statistic.
Bugsnag - Cross platform error monitoring. Free tier. Support for SDK & NDK. Error reports include data on device, release, user, and allows arbitrary data.
Catcho - No Force Close any more. 14 3
Apteligent - Cross platform crash reporting/analytics solution. Supports NDK log.
Instabug - Bug reporting, Crash Reporting, In-app Feedback.
Ion - Good networking library for android. 6k 1k
OkHttp - An HTTP+SPDY client for Android and Java applications. 27k 7k
Asynchronous Http Client - An Asynchronous HTTP Library. 11k 5k
RoboSpice - Library that makes writing asynchronous network requests easy. 2k 423
IceNet - Fast, Simple and Easy Networking for Android 32 6
Android Volley - Official Android HTTP library that makes networking for easier and faster.
IceSoap - Easy, asynchronous, annotation-based SOAP for Android. 74 23
node-android - Run Node.js on Android. 486 55
HappyDns - A Dns library, user can use custom dns server, dnspod httpdns. Only support A record. 126 37
RESTMock - HTTP Web server for mocking API responses in Android Instrumentation tests. 569 38
Packetzoom - SDK for optimizing HTTP requests and free analytics service for networking.
Fast-Android-Networking - A Complete Fast Android Networking Library that also support HTTP/2. 1k 239
logger - Simple, pretty and powerful logger for android 7k 1k
timber - A logger with a small, extensible API which provides utility on top of Android's normal Log class. 4k 543
LoggingInterceptor - An OkHttp interceptor which pretty logs request and response data. 637 38
Bugfender - Upload your logs and check them online, specially made for mobile
EzyLogger - Simple Lightweight logger 2 1
Cupboard - Access the sqlite easily via direct database access or through the ContentProvider framework.
DbInspector - Provides a simple way to view the contents of the in-app database for debugging purposes. 785 97
SQLite Asset Helper - manage database creation and version management using an application's raw asset files. 952 244
Realm - The alternative to SQLite and ORMs: Simple, modern and fast! Object oriented API and multi platform support. 10k 2k
Realm Asset Helper - Copies a realm database from the apk assets folder. Efficiently handles versioning of read-only realm databases. 20 2
RestorableSQLiteDatabase - A wrapper to replicate android's SQLiteDatabase with restoring capability. 15 1
Nitrite Database - A NoSQL embedded document store for Android with MongoDb like API. 81 10
requery - Compile time ORM and SQL query library for Java & Android. 2k 211
GreenDAO - Light & fast ORM solution.
ORMLite - Lightweight ORM Java package for JDBC and Android.
ActiveAndroid - Active record style ORM.
Sugar ORM - Insanely easy way to work with Android Databases.
DBFlow - Fast and powerful ORM with compile-time annotation processing. 4k 694
NexusData - Object graph and persistence framework for Android. 27 8
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. 424 55
RxSimpleNoSQL - Reactive extensions for SimpleNoSQL. Manipulate entities using Observables. 34 1
Robotium - Test automation framework for black-box UI tests.
Roboletric - Unit test framework to run tests inside the JVM on your workstation, not in the emulator.
AssertJ Android - AssertJ assertions geared towards Android. 2k 191
Green Coffee - Run your Cucumber tests in your Android instrumentation tests. 168 20
MobileAppTracking - Tracking your marketing campaigns across multiple ad networks.
Mixpanel - Analytics platform to analyze the users.
Countly - Open source mobile & web analytics, push notifications and crash reporting platform, based on Node.js, MongoDB and Linux.
CleverTap - Analytics platform and user-engagement platform with 1 million free events
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. 685 304
Android Maps Extensions - Extending capabilities of Google Maps Android API v2, adding marker clustering among other things 370 122
MapScaleView - Scale bar for Google Maps Android API 35 11
Conceal SharedPreferences - Secured Preferences using Facebook Secure Encryption called Conceal.
EventBus - EventBus is a library that simplifies communication between different parts of your application.
Otto - Event Bus for Android. 5k 1k
Weak handler - Memory safer implementation of android.os.Handler. 1k 229
Byte Buddy - Runtime code generation library with support for Android.
Secure Preference Manager - Secure Preference Manager for android. It uses various Encryption to protect your application's Shared Preferences. 73 17
LeakCanary - Catch memory leaks as they occur. 19k 3k
Drekkar - An Android event bus for WebView and JS. 16 1
Androl4b - A vm for assessing android applications. 380 112
DroidMVP - Android library to help you incorporate MVP along with Passive View and Presentation Model patterns into your app. 217 26
Gota - Simplifying Android Permissions. 42 7
EasyDeviceInfo - Get device information in a super easy way. 1k 154
Ask-Permission - Simple RunTime permission manager. 8 5
Shutter-Android - Capture photos/videos from device camera or get photos/video from gallery app with no runtime permissions needed.
Validator - An utilities class to validate text inside TextInputLayout. 15 3
Linx - Show logcat inside the device for debug builds 579 71
Scalpel - View the entire hierarchy in 3d in the phone. 898 80
Stetho - Debug hierarchy and network from chrome. 8k 856
Android Debug Database - Android Debug Database is a powerful library for debugging databases and shared preferences in Android applications. 3k 275
Android Debug Bridge - ADB - a command-line tool to assist in debugging Android-powered devices 3k 560
ADB Enhanced - a command-line wrapper around ADB for developers, so that, developers don't have to remember esoteric version-dependent commands
Pidcat - a colored command-line ADB wrapper that only shows log entries for a specific application package 3k 384
SmartGattLib - Simplifies the work with Bluetooth SMART devices (a.k.a. Bluetooth Low Energy in Bluetooth 4.0). 233 73
Chat & Messaging
Applozic Android Chat SDK - Android Chat and Messaging SDK for adding real time chat and in-app messaging into your android application. 450 203
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. 122 48
MediaRecorderDialog - Custom Dialog to record audio, store it and play it in your phone. 40 5
HijriDatePicker - offers a hijri (Islamic Calendar) Date Picker designed on Google's Material Design Principals For Pickers. 34 18
Noty - A simple library for creating animated alerts/dialogs/warnings.
AppUpdater - comprehensive and feature rich library, including support for checks at Amazon and FDroid. 935 186
Gandalf - comprehensive features and a "companion" iOS solution. 268 34
Siren - focused feature set that mimicks the popular iOS library of the same name. Supports Play and Amazon. 69 14
Fit - version checking callback framework with no UI. 38 2
Date & Time
ThreeTen Android Backport - An adaptation of the JSR-310 backport for Android. 2k 57
Joda-Time Android - Joda-Time library with Android specialization. 2k 167
True Time - Android NTP time library. Get the true current time impervious to device clock time changes. 498 44
Permission Dispatcher - Simple annotation-based API to handle runtime permissions. 1k 178
RxPermissions - Android runtime permissions powered by RxJava. 4k 483
NoPermission - Simple Android library for permissions request. Consists of only one class. 67 11
Android Support library - The Android Support Library package is a set of code libraries that provide backward-compatible versions of Android framework API.
Google Play Services - Library to access Google services, such as account syncing, Google+ (sharing, single sign-on), Google Maps, Location APIs, Google Play Games, Cloud Messaging, Android Device Manager, and others.
Tape - A lightning fast, transactional, file-based FIFO for Android and Java. 2k 298
Guava: Google Core Libraries for Java - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth. 24k 6k
Android Scripting - Allows to run scripting languages on Android. 1k 595
Android Priority Job Queue - Implementation of a Job Queue to easily schedule jobs (tasks) that run in the background, improving UX and application stability. 2k 291
RateMeMaybe - Asks the user if (s)he wants to open the Play Store to rate your application.
Easy Rating Dialog - Lib provides a simple way to display an alert dialog for rating app. 95 25
ZXing Android-Integration - Integration with Barcode Scanner via Intent. 15k 8k
Gradle Retrolambda Plugin - Java 8 Lambdas on Android! 5k 511
RxJava - RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. 34k 7k
RxBinding - RxBinding – RxJava binding APIs for Android UI widgets from the platform and support libraries. 6k 746
Caffeine - A collection of utility classes that help make Android development faster. 439 43
AboutLibraries - Automatically generates an About this app section, with a list of used libraries. 2k 322
AudioPlayerView - A view that loads audio from an url and have basic playback tools. 81 14
andle - command line tool help you sync dependencies, sdk or build tool version. 43 7
Typography - An Android library that makes it easy to use custom fonts in views. 41 3
Calligraphy - Custom fonts in Android an OK way. 7k 919
transai - command line tool help you manage localization string files. 44 4
Android-Link-Preview - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. 220 61
Sensey - Detecting gestures in a snap. 2k 175
UserAwareVideoView - A customized video view that will automatically pause video is user is not looking at device screen! 42 14
Flexbox Layout - FlexboxLayout is a library which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
Agile Boiler Plate - The boiler plate is based on MVP architecture and it is fully based on Dependency Injection design pattern using Dagger2.
Fragmented is the Android developer podcast where Donn Felker and Kaushik Gopal talk about building good software and becoming better Android developers.
Android Developers Backstage is a podcast by and for Android developers. Hosted by developers from the Android engineering team, this show covers topics of interest to Android programmers, with in-depth discussions and interviews with engineers on the Android team at Google.
Android Dialogs is a video based podcast, where they have bite-sized conversations with people from the Android community.
Android Intelligence features in-depth interviews with interesting people from the Android world.
The Context a podcast about Android Development with Hannes Dorfmann, Artem Zinnatullin and wonderful guests! 488 26
More lists of libraries
My personal recommendation is (for now) to use the android api to build a native app. Scala can help to build this native apps with cleaner code but it adds to many methods (Multidex required). Kotlin is a modern language with 100% interoperatibility with java projects
without multidex. But there are also use cases where alternatives like cross-platform development can be useful.
Xamarin - Framework to create native iOS, Android, Mac and Windows apps in C#.
React Native - A framework for building native apps with React by Facebook. 69k 18k
Ionic Framework - A framework to build hybrid apps with mobile-optimized HTML, CSS and JS with AngularJS.
Capacitor - Build cross-platform Native Progressive Web Apps for iOS, Android, and the web. Very promising Cordova alternative. 327 14
Corona SDK - Framework to create native iOS and Android Apps (especially Games).
Scaloid - Library for less painful Android development with Scala. 2k 197
Macroid - A modular functional UI language for Android. 210 25
Anko - DSL for Android written in Kotlin by JetBrains. 6k 517
Kotterknife - Android view injection written in Kotlin based on ButterKnife 1k 116
Android Kotlin Samples - Some basic Android code samples written in Kotlin. 186 32
KAndroid - Lightweight library providing useful extensions to eliminate boilerplate code in Android SDK. 614 74
RxKotlin/Pocket - This app help user to save links easily, and can export to Evernote as weekly. 12 2
Other Awesome Lists
Other amazingly awesome lists can be found in the
awesome-awesomeness list. 20k 3k
Your contributions are always welcome! Please read the
contribution guidelines first.