30 Android libraries and tools that shouldn't pass you by in 2018

Original author: Michal Bialas
  • Transfer

30 Android libraries and tools that shouldn't pass you by in 2018

During the summer of 2018, many excellent Android libraries and tools were developed and updated.

I have compiled the newest unordered list of Android libraries, tools and projects that may be interesting or useful during your daily work. They are also great for inspiration or experimentation.

I hope you will like it. Let's start!

1. LayoutManagerGroup

This is a library that offers a set of LayoutManagers for RecyclerView, which will help achieve effects such as the gif below.


These LayoutManagers basically expand RecyclerView.LayoutManageror simply LinearLayoutManageradd additional functionality to them.

This library has very laconic documentation, but the code speaks for itself. The best way to understand the library - is to see a sample application and see it in the implementation of Activitiesand Fragments.

The library is released under the Apache 2.0 license, and you really should pay attention to it.

2. Creative View Pager

Creative View Pager is an interesting implementation ViewPagerthat adds a list of titles that scrolls smoothly along with the content of the pages.

Creative View Pager

The documentation is exhaustive and explains how to use the library. Released under the Apache 2.0 license and written almost entirely on Kotlin.

3. Instabug

Instabug is a tool for collecting feedback and errors for mobile applications. Thanks to a few simple steps, your users or beta testers will be able to report errors or leave feedback, and the SDK will remember the state of the user's device environment, including all console logs, network requests and steps to reproduce the error, collecting all this information on one panel for easy debugging. and bug fixes.


In a recent update, many bugs were fixed. You can read more about these changes here . Thus, Instabug allows you to:

I have been using Instabug since 2016, when I was looking for a tool that would help my team and our users. I highly recommend it to you.

4. CheckableChipView

This is a check widget for Android based on an EventFilterView from an application written specifically for Google I / O 2018. It requires minSdkVersion21.


A good README allows you to quickly start working with a widget. The initial implementation was developed by Nick Butcher and José Alkerreka from Google.

The widget is released under the Apache 2.0 license and is written in Kotlin.

5. CrunchyCalendar

This is a lightweight, powerful and easy to use calendar.


It offers a number of useful features:

  • endless vertical scrolling in both directions;
  • setting a time frame to limit scrolling within a specific period;
  • selection of one date, several dates or time ranges;
  • preset selected dates;
  • color settings;
  • display of color indicators;
  • installation of your own ItemDecoration;
  • Being the successor of the class Viewcan be used anywhere: in the Activity, Fragment, Dialog, or can be integrated into other user View-components.

Remarkable documentation with many examples. There is also an example application on Github and Google Play .

This project is released under the MIT license.

6. InboxRecyclerView

This is a library for creating dynamic in-app navigation, inspired by Google Inbox and Reply .


InboxRecyclerViewYou can safely add to any existing project. You can take a look at the sample application and download its APK to view it on your phone.

The author also wrote a really good article about the library. She is definitely worthy of your attention. Released under the Apache 2.0 license.

7. SlideBack

This is a small but interesting library that offers you to use SlideBackViewinside Activity. To understand what this is all about, take a look at the gif below.


Unfortunately, the documentation is rather scant and is written in Chinese. I would not use it in my project, but only experimented with it. However, you can explore the application and the library itself. It is released under the MIT license.

8. DrawableToolbox

This library creates drawables programmatically and eliminates duplicate files drawable.xml.


Released under the Apache 2.0 license. There is complete documentation and works with API 14 and higher.

9. ColorPicker

This library is written by the same developer who wrote DrawableToolbox. This is just another widget for choosing a color.


This library provides quite good documentation. Released under the Apache 2.0 license and works with API 14 and higher. If you need color selection functionality in your application, then this is a great option.

10. MvRx

The library is huge. MvRx (pronounced “ mavericks ”) is an Android framework from Airbnb that they use for almost all their products.

MvRx makes the development of application screens, from the simplest to the most complex, simpler than it is originally. However, it builds everything on top of existing components, such as fragments or architectural components, so it does not limit you and can be easily applied in your projects.

The main goal was to create applications faster and with less effort. MvRx uses the following technologies and concepts:

  • Kotlin;
  • Android architectural components;
  • RxJava;
  • React (concept);
  • Epoxy (recommended).

The framework is released under the Apache 2.0 license. Documentation and wiki are great. The wiki has a version tl;dr, and there is a regular one, with all the explanations necessary to understand the concept.

11. RxRedux

If you have heard about Redux , its basic concepts and three principles , you will probably immediately understand what this library is about.

RxRedux is an implementation based on RxJava (inspired by redux-observable ) that helps neutralize side effects (a side effect is a type function (Observable <Action>, StateAccessor <State>) -> Observable <Action>).


RxRedux is a kind of replacement operator.scan() in RxJava. The README is well written and perfectly complemented by this article . The library is released under the Apache 2.0 license.

12. Emoji Slider

This is a custom SeekBar, inspired Emoji slider from Instagram .

Emoji slider

The project has very good documentation and sample applications. Released under the Apache 2.0 license.

13. Covert

This is a library that helps implement Material Swipe Actions in RecyclerView. Naturally, it is written in accordance with the principles of Material Design.


Thanks to good documentation, it is easy to set. The project is released under the MIT license.

14. PixelShot

Is a library that can store any View-components or SurfaceViewin the form of image file formats: JPG/PNG/nomedia. The library runs in a background thread, handling I / O errors and managing memory allocation.

You can use it to take screenshots inside your application (for example, for an error message).

It is quite easy to use, and the existing documentation is enough for a start. It is released under the Apache 2.0 license and supports API 19 and higher.

15. WiseFy

WiseFy is a shell for WifiManagerand ConnectivityManagerfor Android. It adds light high-level settings, for example:

  • add and remove networks;
  • check device connection;
  • checking current network;
  • turn on and off Wi-Fi and more.


This is not a new library, but recently a huge refactoring has occurred in it, and it has been completely rewritten to Kotlin.

The documentation is good and detailed. License: Apache 2.0.

16. MVICore

MVICore is a modern Badoo Tech MVI framework , which includes:

  • 100% Kotlin: an easy way to implement your business functions in a reactive mode;
  • Scaling: you can work with a single Reducer component, but if necessary you can add as many as you need to handle more complex cases;
  • Event handling: there is a solution for handling events that you don’t want to store;
  • Linking reactive components: a very simple API for bundling your reactive components along with automatic lifecycle management;
  • Logger out of the box;
  • Time debugger: for all your reactive components (and not just for environment variables) you can record their state over time and then view it.

The framework has really good documentation . If you want to rewrite your application in the style of MVI, then you should pay attention to this solution.

17. DialerLoading

This library can be useful when developing your own Viewcomponents. For example, such a rotating phone dial can be used as a replacement for the download indicator.


There is a short README in the project. And it is released under the Apache 2.0 license. Written entirely on Kotlin.

18. HtmlRecycler

This is an interesting library that converts a simple HTML page into RecyclerView from native Android widgets, based on the Jsoup library and inspired by Medium Textview .


This library is still under development, so use it with care in your projects. The documentation is good and it explains well how to use the library. Released under the Apache 2.0 license.

19. Android Clean Architecture Components Boilerplate

I have repeatedly mentioned this library, but thanks to the efforts of the Buffer team, it is still developing. They are currently showing how to use Koin instead of Dagger for dependency injection.

Android Clean Architecture Components Boilerplate

The library is released under the MIT license.

20. Splitties

Splitties is a collection of small independent Android libraries, the purpose of which is to make the development of Android applications and libraries simple and fun. I really like this idea.

This project is called “Splitties” because it is divided into small modules distributed as independent Android libraries, so you can add to your project only those that you really need, which helps reduce the size of the final apk-file.

Each module is designed to be as efficient as possible with its small size.

The documentation is good, the project is released under the Apache 2.0 license.

21. AndroidWM

This is a small library for watermarks on images, which also supports encrypted and invisible watermarks.


The library is quite powerful and suggests creating several watermarks, choosing a drawing mode and a way to load resources (as text, as a Viewcomponent or as an Android resource). The documentation is good, there is also an example application.

The library is released under the Apache 2.0 license.

22. Android components

This is the second collection of libraries in this article. This time from the Mozilla team , and it can be useful during the creation of browsers or applications similar to the browser.

The diagram below shows some of the available components.

Android components

There are 4 sample applications in the project that demonstrate the use of various components. It also has good documentation, and it is released under the MPL 2.0 license.

23. RxBiometric

This library links RxJava and RxKotlin with Biometric Prompt (fingerprint scanner) on Android (added in Android 9 Pie, API 28+).


According to the official blog of Android developers , if you use your own fingerprint authentication mechanisms in your application, then you should switch to using the BiometricPrompt API as soon as possible.

RxBiometric helps you make it through the RxJava stream. It has reliable documentation with examples of use. Released under the Apache 2.0 license.

24. EnhancedNavigationView

This is a library that extends BottomNavigationViewfrom Google and allows you to look at it from a very interesting angle.


The project is written in Kotlin. Released under the Apache 2.0 license, and it has a sample application using the library.

25. livedata-ktx

This is an extension LiveDatato Kotlin that turns code into call chains, like RxJava, from the Shopify command. If you use LiveDataAndroid from the architectural components, you can easily replace it with LiveData KTXand create such chains, as shown in the example below:


The project is being developed by four developers and released under the MIT license.

26. Tumbleweed

Tumbleweed is a branch from Universal-Tween-Engine that allows you to create smooth interpolations for each attribute of each object in your projects.


Tumbleweed differs from the original project with several features:

  • reduced change Tweensand Timelines(separated ad and implementation Tweens);
  • interpolation is encapsulated by creating a certain type ( TweenType<T>);
  • deleted pool (constant source of unexpected behavior) and much more.

It contains comprehensive documentation and is released under the Apache 2.0 license. It also has an example application .

27. Stylist

Stylist is a project created by Uber developers . This is a gradle-plugin written in Kotlin that generates a basic set of Android themes. For example, if you want to determine the size of the text in the dark and light themes of the application, you will create the following class:

Dark and Light themes with Stylist

And you get the generated XML themes:

XML theme with stylist

The project was released under the Apache 2.0 license.

28. RxkPrefs

This is a small library that provides reactive shared preferences. It is designed specifically for use with Kotlin.

Using a copy RxkPrefs, you can get preferences. But it will not be a raw preference value, but an instance of an interface Prefthat provides more functionality.

The library is released under the Apache 2.0 license.

29. Philology

This library offers an easy way to dynamically replace the string resources of your application or add new languages ​​without the need to publish a new version on Google Play. How it works?

Philology does not change the way resources are used to develop an application. Instead, it is implemented into this process: the value returned from your files inside the application is intercepted, and it is checked whether there is a newer value on the server. This allows you to remove typos, improve wording, or even add a new language. All in real time, without the need to release a new version of the application.

This is a really good idea. The library is released under the Apache 2.0 license. The project contains an example of the application, as well as really complete documentation.

30. Scarlet

This is an inspired Retrofit WebSocketclient for Kotlin and Java from the Tinder team. The library is well documented and described in this article .

You can also see its use in the application for checking the Bitcoin rate in real time.

Scarlet is managed using StateMachine , also developed by the Tinder team.


The project was released under the license BSD 3-Clause.


That's all! I hope you enjoyed this list, and some projects have inspired you. If you know any other big library that has been released in the last 5 months, and I didn’t mention it, please let me know in the comments.

Also read other similar collections:
“25 interesting Android libraries. Spring 2018 "
" 10 libraries that every Android developer should know about "
" 7 libraries for Android development on Kotlin "

Also popular now: