awesome-android
by JStumpp
A curated list of awesome Android packages and resources.
AI summary
Android libraries
A curated list of popular Android libraries and resources
- stars
- 11K
- forks
- 1.7K
- watching
- 534
- awesome lists
- 12
- entries
- 311
What's in the list
311 links in 40 sections, with live GitHub stats.activeno commit in 2y
Emulators
Libraries / Charts
AChartEngine
Charting Engine
EazeGraph
Chart and graph library
WilliamChart
Chart library with good motion capabilities
HelloCharts
Chart and graph library with support for scaling, scrolling and animations
MPAndroidChart
An Android chart and graph library supporting scaling and dragging by gesture
ArcChartView
Draw Creative Statistic Arc Charts
AnyChart
Data visualization library, Interactive charts
Libraries / Cloud Services
- CloudRail
Unified API Library for: Cloud Storage, Social Profiles, Payment, Email, SMS & POIs
Libraries / Data binding
Anvil
A small library to create reactive UI components, inspired by React. Provides data binding and event listener binding, fits well for MVVM
- Data Binding Library
Official Android Data Binding Library to write declarative layouts and minimize the glue code necessary to bind application logic and layouts
Libraries / Dependency Injection
Dagger 2
A fast dependency injector for Android and Java
- Butter Knife
View "injection" library for Android
ActivityStarter
Android Library that provide simpler way to start the Activities with multiple arguments
AndroidAnnotations
Java annotations with dependency injection at compile time
Toothpick
A scope tree based Dependency Injection (DI) library for Java
Libraries / Android Services
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
Libraries / Game Development
Libraries / Security
libsignal-protocol-java
A ratcheting forward secrecy protocol that works in synchronous and asynchronous messaging environments
Themis
Multi-language framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on
Libraries / GUI
- Pull to refresh
A swipe refresh layout is available in the v4 support library
Cardslib
Android Library to build a UI Card
AndroidStaggeredGrid
Grid view which supports multiple columns with rows of varying sizes
Flow
Library that helps with describing an app as a collection of moderately independent screens
SortableTableView
An Android library containing a simple TableView and an advanced SortableTableView providing a lot of customisation possibilities to fit all needs
MaterialProgressBar
Material design ProgressBar with consistent appearance
AndroidFillableLoaders
Fillable progress view working with SVG paths. Nice option too for creating interesting app logos
NexusDialog
Allows you to easily and quickly create forms in Android with little code
Snap RecyclerView Utils
Populate Single or multiple Layout RecyclerView without creating an Adapter
MultiSnapRecyclerView
Android library for multiple snapping of RecyclerView
SwipeableCard
Implementation of swipe card like StreetView!!
ElasticProgressBar
Beautiful loading bar
EntryScreenManager
Intro/Entry/Walkthrough/Starting Screens
- EasyIntro
The flexible, easy to use, all in one app intro library for your Android project
Material-Calendar-View
Material Design Calendar compatible with API 8+
CrunchyCalendar
A material calendar widget with infinite scrolling, date range selection and color customization
SmoothOverscrollableScrollView
Small custom view with smooth overscroll. You can add header with scale background
SectionedRecyclerViewAdapter
An Adapter that allows a RecyclerView to be split into Sections with headers and/or footers
DragListView
Drag and drop to reorder items in a list, grid or board
Animated Expanding ListView
Animated Expanding ListView provides a fancy animation on expanding or collapsing the content of a listview item
TastyToast
Toasts with icons and color
DotLoader
A customizable loading animation with Dots
PodSlider
A customizable slider widget adhering to material design specs
TapTargetView
An implementation of tap targets from the Material Design guidelines for feature discovery
ShowCaseView
The ShowcaseView library is designed to highlight and showcase specific parts of apps to the user with a attractive and flat overlay
MaterialIntroScreen
Material Intro Screen implementation with easily extensible API
FloatingView
FloatingView can make the target view floating above the anchor view with cool animation
Timecon
Easy-to-use animated clock icon
Audiogram
Lightweight audiowave progressbar
Bubbles for Android
Facebook like chat bubble library
Litho (By Facebook)
A declarative framework for building efficient UIs on Android
MultiViewAdapter
Recyclerview Adapter library to create composable view holders
LGSnackbar
An easy to use and customisable wrapper of the native Android Snackbar which stays visible across multiple activities
ShimmerLayout
Memory efficient shimmering effect for Android applications
CircleProgressBar
A simple library for creating circular progressbars for Android
Easy-Signature-Android
An simple ui library that provides a plugable signature view
Flashbar
A highly customizable, powerful and easy-to-use alerting library for Android
YuanaItemSettingView
Customizable Item Setting View for Android
Gradients
A curated collection of splendid gradients
OneAdapter
RecyclerView Adapter with multiple modules and hooks to simplify and enhance the use while preventing common mistakes
NoPaginate
Simple Android pagination library
- ActionBarSherlock
ActionBar for older Android versions
FadingActionBar
Fading action bar effect that can be seen in the new Play Music app
SlidingMenu
Library to create applications with slide-in menus
SlidingTutorial
Simple library that helps to create awesome sliding android app tutorials
PagerSlidingTabStrip
An interactive indicator to navigate between the different pages of a ViewPager
Page View indicator
Support for horizontally scrolling ViewPager
RecyclerTabLayout
An efficient TabLayout library implemented with RecyclerView
MaterialDrawer
Simple take on a material design navigation drawer
Debug-Artist
Debug menu to enable leakcanary, scalpel and others easy
Rebound
Rebound is a Java library that models spring dynamics
Android View Animations
Cute view animation collection
Android-Transition
Allows the easy creation of view transitions that react to user inputs
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
Crescento
Explore new style in material design by adding curve below image view
android-crop
Library project for cropping images
CircularImageView
Custom view for circular images while maintaining the best draw performance
Android-Image-Filter
Library project for applying image filters easily
Compressor
Compressor is a lightweight and powerful android image compression library
ShapeImageView
Library to display images in different shapes
FloatingLabel
FloatingLabel Allows you to create a blow kind of EditText
MaterialEditText
Supporting Floating Labels, Single Line Ellipsis, Max/Min Characters, Helper Text and Error Text with Custom Colors
EmojiCompat
Adds emoticons to your app
MaterialSearchBar
Material Design Search Bar for Android
InputMask
Pattern-based user input formatter, parser and validator
SweetPassword
Password EditText that allows to custom toggle button
VoiceOverlay
An overlay that gets your user’s voice permission and input as text in a customizable UI
Material Dots Indicators
Three Material Dots Indicators styles for View Pagers
Picasso
A powerful image downloading and caching library for Android
Universal Image Loader
Asynchronous, out of the box loading and caching of images
Glide
An image loading and caching library for Android focused on smooth scrolling, Recommended by Google
Fresco
An Android library for managing images and the memory they use
Glide Bitmap Pool
Glide Bitmap Pool is a memory management library for reusing the bitmap memory
Coil
Image loading for Android backed by Kotlin Coroutines
MediaPicker
Android Library that lets you to select multiple images, video or voice for Android
Android Image Picker
A library that makes images and videos selection from gallery feels easy. It also support GIF and simple camera action
ijkplayer
Android/iOS video player based on FFmpeg n3.2, with MediaCodec, VideoToolbox support
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
VideoPlayView
Custom Android view with video player, play/stop, loader and placeholder image
MagicalCamera
Simple way to take or select photos of your gallery, with other features for manage pictures
Camera
Use Android camera to take pictures and videos, based on camera2 api
Convalida
A simple and annotation-based way to validate your input fields
Libraries / JSON
Gson
Gson is a Java library used for serializing and deserializing Java objects from and into JSON
Jackson JSON Processor
High-performance JSON processor
Moshi
A modern JSON library for Android and Java
Libraries / Crash monitoring
- 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
- Apteligent
Cross platform crash reporting/analytics solution. Supports NDK log
- Instabug
Bug reporting, Crash Reporting, In-app Feedback
Libraries / Networking
Ion
Good networking library for android
OkHttp
An HTTP+SPDY client for Android and Java applications
RoboSpice
Library that makes writing asynchronous network requests easy
IceNet
Fast, Simple and Easy Networking for Android
- Android Volley
Official Android HTTP library that makes networking for easier and faster
IceSoap
Easy, asynchronous, annotation-based SOAP for Android
node-android
Run Node.js on Android
HappyDns
A Dns library, user can use custom dns server, dnspod httpdns. Only support A record
RESTMock
HTTP Web server for mocking API responses in Android Instrumentation tests
Fast-Android-Networking
A Complete Fast Android Networking Library that also support HTTP/2
Libraries / Logger
logger
Simple, pretty and powerful logger for android
timber
A logger with a small, extensible API which provides utility on top of Android's normal Log class
LoggingInterceptor
An OkHttp interceptor which pretty logs request and response data
Bugfender
Upload your logs and check them online, specially made for mobile
EzyLogger
Simple Lightweight logger
Logback Android
Logback port to Android which provides a highly configurable logging framework for Android apps
Libraries / Notifications
android-remote-notifications
Pulls notifications from a remote JSON file and shows them in your app
Android HeartBeat Fixer
Way to set heartbeat interval and users receive PushNotifications from GCM
Libraries / Database
- 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
SQLite Asset Helper
manage database creation and version management using an application's raw asset files
Realm
The alternative to SQLite and ORMs: Simple, modern and fast! Object oriented API and multi platform support
Realm Asset Helper
Copies a realm database from the apk assets folder. Efficiently handles versioning of read-only realm databases
RestorableSQLiteDatabase
A wrapper to replicate android's SQLiteDatabase with restoring capability
Nitrite Database
A NoSQL embedded document store for Android with MongoDb like API
requery
Compile time ORM and SQL query library for Java & Android
- 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
NexusData
Object graph and persistence framework for Android
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
RxSimpleNoSQL
Reactive extensions for SimpleNoSQL. Manipulate entities using Observables
Libraries / REST
- Retrofit
Retrofit turns your REST API into a Java interface
Spring for Android - Rest Template
A Rest Client for Android
Libraries / Testing
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
Green Coffee
Run your Cucumber tests in your Android instrumentation tests
Libraries / Tracking
- 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
Libraries / Maps
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
Android Maps Extensions
Extending capabilities of Google Maps Android API v2, adding marker clustering among other things
MapScaleView
Scale bar for Google Maps Android API
- GLMap
Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included
Libraries / Utility
- EventBus
EventBus is a library that simplifies communication between different parts of your application
Otto
Event Bus for Android
Weak handler
Memory safer implementation of android.os.Handler
- 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
LeakCanary
Catch memory leaks as they occur
Drekkar
An Android event bus for WebView and JS
Androl4b
A vm for assessing android applications
DroidMVP
Android library to help you incorporate MVP along with Passive View and Presentation Model patterns into your app
EasyDeviceInfo
Get device information in a super easy way
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
Keyboard Visibility Event
A DSL to handle soft keyboard visibility change event
TimeIt
A stopwatch library for android which makes it easy to start, pause, display and maintain multiple stopwatches in an app
Reactor
Reactor is a fast and secure key-value library for Android
Libraries / Debugging Tools
Linx
Show logcat inside the device for debug builds
Scalpel
View the entire hierarchy in 3d in the phone
Stetho
Debug hierarchy and network from chrome
Android Debug Database
Android Debug Database is a powerful library for debugging databases and shared preferences in Android applications
Android Debug Bridge - ADB
a command-line tool to assist in debugging Android-powered devices
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
- AppSpector
Remote Android and iOS debugging and data collection service. You can debug networking, logs, SQLite and mock device's geo location
Libraries / Wireless
SmartGattLib
Simplifies the work with Bluetooth SMART devices (a.k.a. Bluetooth Low Energy in Bluetooth 4.0)
Libraries / Chat & Messaging
- Applozic Android Chat SDK
Android Chat and Messaging SDK for adding real time chat and in-app messaging into your android application
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
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) applications and website for customer support
CometChat Voice, Video and Text Chat SDK with UI
Add voice, video and text chat to your app (and website) in minutes using CometChat. CometChat's SDK includes a complete ready UI so that you don't have to spend any time building one! That's not all, CometChat has out-of-the-box support for real-time translation, whiteboards, screen sharing, friends sync, role based access control, credits deduction and more
- 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
- Stream Chat
Comprehensive SDK & Components for real-time chat, powered by
- 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)
MediaRecorderDialog
Custom Dialog to record audio, store it and play it in your phone
HijriDatePicker
offers a hijri (Islamic Calendar) Date Picker designed on Google's Material Design Principals For Pickers
Noty
A simple library for creating animated alerts/dialogs/warnings
Libraries / Version Checking
AppUpdater
comprehensive and feature rich library, including support for checks at Amazon and FDroid
Gandalf
comprehensive features and a "companion" iOS solution
Siren
focused feature set that mimicks the popular iOS library of the same name. Supports Play and Amazon
Fit
version checking callback framework with no UI
Libraries / Date & Time
ThreeTen Android Backport
An adaptation of the JSR-310 backport for Android
Joda-Time Android
Joda-Time library with Android specialization
True Time
Android NTP time library. Get the true current time impervious to device clock time changes
Libraries / Runtime Permissions
Permission Dispatcher
Simple annotation-based API to handle runtime permissions
RxPermissions
Android runtime permissions powered by RxJava
NoPermission
Simple Android library for permissions request. Consists of only one class
Ask-Permission
Simple RunTime permission manager
Gota
Simplifying Android Permissions
EasyPermissions
EasyPermissions is a wrapper library to simplify basic system permissions logic when targeting Android M or higher
Libraries / Payments
- Square In-App Payments for Android
Integrate Square payments into your mobile app with Digital wallet and stored card support for quick checkout
Libraries / Other
- 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
Guava: Google Core Libraries for Java
Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth
Android Scripting
Allows to run scripting languages on Android
Android Priority Job Queue
Implementation of a Job Queue to easily schedule jobs (tasks) that run in the background, improving UX and application stability
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
ZXing Android-Integration
Integration with Barcode Scanner via Intent
Gradle Retrolambda Plugin
Java 8 Lambdas on Android!
RxJava
RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM
RxAndroid
Adds minimum RxJava bindings for easy writing of reactive Android java code
RxBinding
RxBinding – RxJava binding APIs for Android UI widgets from the platform and support libraries
Caffeine
A collection of utility classes that help make Android development faster
AboutLibraries
Automatically generates an About this app section, with a list of used libraries
AudioPlayerView
A view that loads audio from an url and have basic playback tools
andle
command line tool help you sync dependencies, sdk or build tool version
Typography
An Android library that makes it easy to use custom fonts in views
Calligraphy
Custom fonts in Android an OK way
transai
command line tool help you manage localization string files
Android-Link-Preview
It makes a preview from an url, grabbing all the information such as title, relevant texts and images
Sensey
Detecting gestures in a snap
UserAwareVideoView
A customized video view that will automatically pause video is user is not looking at device screen!
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
Gradle buildSrcVersions
A kotlin dsl to simplify dependencies management
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!
Resources
- Programming Community Curated Resources for Learning Android Development
Android Tutorials & Courses submitted and voted by the programming community
- Vogella Tutorials
Very good tutorials by Lars Vogel
- Android Design in Action Video series
The video series by Android Design Team of Google
- Android DevBytes Video Series
It is the technical counterpart of Android Design in Action series
- Developing for Android
A series of articles from Googler Chet Hasae and others, answering most commonly asked question: "What are some of the important rules to keep in mind when developing Android applications?"
- Android Hive Tutorials
Very good tutorials for beginners
- Android Weekly
Newsletter with weekly information about android
- Android Asset Studio
Generator for icons and other assets
- Device Art Generator
Wraps app screenshots in real device artwork
- Android UI design resources
Gives you wide variety of design resources form a Google Developer Expert in UI/UX
- Pencil Project
An open source prototyping software
- How to Make Android Apps
Video tutorials by Derek Banas
android-blogs
List with blogs about Android
- Future Studio
Extensive Android tutorials on Retrofit, Picasso, Glide & Gson
Android Tips & Tricks
Cheatsheet about tips and tricks for Android Development
Associate Android Developer Certification Materials
A collection of materials for getting ready for the test
- Google Developers Training
Google Developers Official Training page has list of various useful learning resources for beginner as well seasoned developer
- Mindorks
Become a complete and happy Android developer
- AndroidVille
Become a better Android Engineer. A website dedicated to Android Development covering advanced topics such as RxJava, Android Zygote and much more
- Android Stack Weekly
A weekly newsletter on new development and updates of Android universe
Resources / Code examples
Android Architecture Blueprints
The Android Architecture Blueprints project demonstrates strategies to help solve or avoid common android problems
Kotlin MVVM example
Example about MVVM (Model View ViewModel) Pattern
Kotlin VIPER example
Example about VIPER (View Interactor Presenter Entity Router) Pattern
Complete-Google-Map-API-Tutorial
Learn How to use Google Map API for Android from Basic to Advance with complete examples
Android Modular Architecture
Android Sample App using modular, clean, scalable, testable Architecture written in Kotlin following the best practices with Jetpack
Resources / Podcasts
- 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
The Context
a podcast about Android Development with Hannes Dorfmann, Artem Zinnatullin and wonderful guests!
- Talking Kotlin
A Podcast on Kotlin and more
- Android Authority
is a weekly Android podcast hosted by Adam Doud, Joe Hindy, and Jonathan Feist from the Android Authority team
- Android Central
is a weekly Android podcast hosted by the Android Central team
Resources / More lists of libraries
- The Android Arsenal
Large list of android libraries
- Square libraries
Multiple high quality libraries by square
- Awesome Android @LibHunt
Your go-to Android Toolbox
- Android Store
Search Android Libraries, Projects, and Tools
Development Alternatives / C#
- Xamarin
Framework to create native iOS, Android, Mac and Windows apps in C#
Development Alternatives / HTML, CSS and Javascript
- PhoneGap
Open source framework by Adobe to create cross platform mobile apps using HTML, CSS, and JavaScript
- Titanium
Open-source framework to create 'native' cross platform apps using JavaScript
- NativeScript
An open-source framework to build native iOS and Android apps with JavaScript from a single code base
React Native
A framework for building native apps with React by Facebook
- Ionic Framework
A framework to build hybrid apps with mobile-optimized HTML, CSS and JS with AngularJS
Apache Cordova
Cordova based applications are, at the core, applications written with web technology: HTML, CSS and JavaScript
Capacitor
Build cross-platform Native Progressive Web Apps for iOS, Android, and the web. Very promising Cordova alternative
Development Alternatives / Lua
- Corona SDK
Framework to create native iOS and Android Apps (especially Games)
Development Alternatives / Scala
Development Alternatives / Groovy
- Groovy on Android
Introduction to Groovy on Android
Groovy Language Support for Android
Gradle Plugin for Compiling Groovy for Android
SwissKnife
A multi-purpose Groovy library containing view injection and threading for Android using annotations
Development Alternatives / Kotlin
Anko
DSL for Android written in Kotlin by JetBrains
Kotterknife
Android view injection written in Kotlin based on ButterKnife
Android Kotlin Samples
Some basic Android code samples written in Kotlin
Kotlin coding puzzles
Set of programming challenges thats helps to improve whiteboard coding and problem-solving skills
KAndroid
Lightweight library providing useful extensions to eliminate boilerplate code in Android SDK
RxKotlin/Pocket
This app help user to save links easily, and can export to Evernote as weekly
Android Clean Architecture - Kotlin
A base project using the Uncle Bob's clean architecture with Kotlin language and the latest Android technologies
- Koin
Lightweight dependency injection framework for Kotlin
Development Alternatives / Flutter
- Flutter
Google's mobile app SDK for high-quality native interfaces for Android and iOS in very quick time
Performance
awesome-android-performance
A list of awesome Android tutorials, videos and tools for performance optimization
Booster
Booster is an optimization toolkit for Android applications
Nothing in this list matches your filter.
Featured in 12 awesome lists
Each link jumps to the spot where the list mentions awesome-android.