Top 50 Awesome List

JStumpp/awesome-android

Platforms  4 months ago  9.1k
A curated list of awesome Android packages and resources.
View byDAY/WEEK/README
View on Github

Awesome Android

awesome Build Status PRs Welcome

About

A curated list of awesome Android libraries and resources. For general Java libraries have a look at awesome-javastars32.1k.

Supported with ❤️ by Instabug

Understand How Your Android App is Doing with Real-Time Contextual Insights From Your Users

instabug-github

Instabug helps Android developers and product teams easily collect bugs and feedback from beta testers and users to iterate faster and ship quality apps. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. Mobile teams accelerate their workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. Instabug is offering Awesome Android community an exclusive 15% discount on all paid plans. Get Started!

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:

  • Simply press command + F to search for a keyword
  • Go through our Content Menu

Content

Emulators

Libraries

Charts

Cloud Services

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

Data binding

  • Anvilstars1.4k - 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.

Dependency Injection

Android Services

  • Remoterstars62 - An alternative to Android AIDL for Android Remote IPC services using plain java interfaces.
  • Service Connectorstars11 - Bind Android services and callbacks to fields and methods.

Game Development

Security

  • libsignal-protocol-javastars1.7k - A ratcheting forward secrecy protocol that works in synchronous and asynchronous messaging environments.
  • Themisstars1.5k - Multi-language framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.

GUI

Paginate

ActionBar

Animations

Images

Inputs

View Pagers

Loading Images

Media Picker

  • MediaPickerstars264 - Android Library that lets you to select multiple images, video or voice for Android
  • Android Image Pickerstars965 - A library that makes images and videos selection from gallery feels easy. It also support GIF and simple camera action

Video

  • ijkplayerstars30.4k - Android/iOS video player based on FFmpeg n3.2, with MediaCodec, VideoToolbox support.
  • Exoplayerstars19.3k - 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
  • VideoPlayViewstars89 - Custom Android view with video player, play/stop, loader and placeholder image.

Camera

  • MagicalCamerastars333 - Simple way to take or select photos of your gallery, with other features for manage pictures.
  • Camerastars119 - Use Android camera to take pictures and videos, based on camera2 api.

Field Validation

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

JSON

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.
  • Catchostars37 - No Force Close any more.
  • Apteligent - Cross platform crash reporting/analytics solution. Supports NDK log.
  • Instabug - Bug reporting, Crash Reporting, In-app Feedback.

Networking

Logger

Notifications

Database

  • Cupboard - Access the sqlite easily via direct database access or through the ContentProvider framework.
  • DbInspectorstars918 - Provides a simple way to view the contents of the in-app database for debugging purposes.
  • SQLite Asset Helperstars2.2k - manage database creation and version management using an application's raw asset files.
  • Realmstars11.3k - The alternative to SQLite and ORMs: Simple, modern and fast! Object oriented API and multi platform support.
  • Realm Asset Helperstars29 - Copies a realm database from the apk assets folder. Efficiently handles versioning of read-only realm databases.
  • RestorableSQLiteDatabasestars20 - A wrapper to replicate android's SQLiteDatabase with restoring capability.
  • Nitrite Databasestars655 - A NoSQL embedded document store for Android with MongoDb like API.

ORM

  • requerystars3.1k - 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.
  • DBFlowstars4.8k - Fast and powerful ORM with compile-time annotation processing.
  • NexusDatastars73 - Object graph and persistence framework for Android.
  • SimpleNoSQLstars390 - 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.
  • RxSimpleNoSQLstars37 - Reactive extensions for SimpleNoSQL. Manipulate entities using Observables.

REST

Testing

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

Maps

  • Google-Directions-Androidstars968 - Allows you to calculate the direction between two locations and display the route on a Google Map using the Google Directions API.
  • Android Maps Extensionsstars409 - Extending capabilities of Google Maps Android API v2, adding marker clustering among other things
  • MapScaleViewstars111 - Scale bar for Google Maps Android API
  • GLMap - Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included.

Utility

Debugging Tools

  • Linxstars754 - Show logcat inside the device for debug builds
  • Scalpelstars2.8k - View the entire hierarchy in 3d in the phone.
  • Stethostars12.5k - Debug hierarchy and network from chrome.
  • Android Debug Databasestars8k - 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 Enhancedstars912 - a command-line wrapper around ADB for developers, so that, developers don't have to remember esoteric version-dependent commands
  • Pidcatstars4.6k - 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.

Wireless

  • SmartGattLibstars265 - Simplifies the work with Bluetooth SMART devices (a.k.a. Bluetooth Low Energy in Bluetooth 4.0).

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 SDKstars193 - 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 SDKstars62 - 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 UIstars3 - 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 Stream.
  • 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

  • MediaRecorderDialogstars74 - Custom Dialog to record audio, store it and play it in your phone.
  • HijriDatePickerstars130 - offers a hijri (Islamic Calendar) Date Picker designed on Google's Material Design Principals For Pickers.
  • Notystars147 - A simple library for creating animated alerts/dialogs/warnings.

Version Checking

  • AppUpdaterstars1.8k - comprehensive and feature rich library, including support for checks at Amazon and FDroid.
  • Gandalfstars286 - comprehensive features and a "companion" iOS solution.
  • Sirenstars133 - focused feature set that mimicks the popular iOS library of the same name. Supports Play and Amazon.
  • Fitstars58 - version checking callback framework with no UI.

Date & Time

Runtime Permissions

Payments

Other

Resources

Code examples

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 Contextstars631 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.

More lists of libraries

Development Alternatives

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.

C#

  • Xamarin - Framework to create native iOS, Android, Mac and Windows apps in C#.

HTML, CSS and Javascript

  • <