25 new Android libraries, projects and tools worthy to check in Spring 2018

(⌐⊙_⊙)

This is a list of 25 newest Android libraries, projects and tools released in past 3 months. All of them are my personal choice. They are not in the ranked order. Definitely worthy to check and be included in your project or just play with them and have a lot of fun. Enjoy!

1. scrcpy

Let’s get off to a good start with scrcpy! This tool is developed by Genymotion team and does exactly the same what Vysor does (if you’re not familiar with this tool, you can check my article about 10 useful tools for Android Developers).
It provides display and control of Android devices connected on USB. It does not require any root access. It works on GNU/Linux, Windows and *MacOS *and it is for free.

README is really comprehensive and well-written. It includes how to install and build the project. For Mac users the project is available via homebrew as well. I personally built and installed the project on my own and I can confirm, it works like a charm. I recommend this tool in 100%.

2. Long Shadows

This is a library for efficiently generating and rendering beautiful long shadows in Android.

This library include many features like for instance:

  • Supporting any type of View,
  • allowing to a precise control over shadows on every View,
  • multiple shadows for a View,
  • shadow animations,
  • async calculations and many more.

README *is full of great examples and really well-written. It is probably one of the best *README I have ever read.
The project is released under MIT license.

3. TextPathView

This is a view with text path animation. One gif is more than thousand words, so check it below!

The original README is in Chinese, but there is also an English version. It provides vital information how to use the library, what are the newest updates and what is in the pipeline. Bare in mind, that it is in an early stage of development (version 0.1.2).
The project is released under MIT license.

4. ShapeOfView

This is a library which allows to add a custom shape to of Android Views.

This is also an example, what can be built using the library:

Pretty impressive, huh? The documentation is really useful in terms of examples. You will find there many readymade samples. The library itself is realised under Apache 2.0 license.

5. ModalBottomSheetDialogFragment

This library was developed to use Modal bottom sheet dialog based on the Material Guidelines.

The documentation is sufficient enough to start using the dialogs. The project itself is released under Apache 2.0 license.

6. PhotoEditor

A Photo Editor library with simple, easy support for image editing using paints, text, emoji and sticker like stories.

It supports:

  • Drawing on image with an option to change a brush’s color, size and opacity,
  • erasing,
  • adding / editing text with options to change its color and fonts,
  • adding stickers and images,
  • deleting, saving and many more.

The README is comprehensive and definitely worthy to check. The project is in quite early stage with version 0.1.1 and released under Apache 2.0 license.

7. Hyperion-Android

Hyperion is an app debugging and inspection tool. Made as

a hidden plugin drawer that can easily be integrated into any app. The drawer sits discreetly under the app so that it is there when you need it and out of the way when you don’t. Hyperion plugins are designed to make inspection of your app quick and simple.

For further information you should check README and a blog post.
The project is released under MIT license and currently it has version 0.9.22.

8. KotlinPleaseAnimate

This is a library written in Kotlin to declare and run beautiful animations.

The documentation is sufficient to start playing with it. The project is released under Apache 2.0 license.

9. ElevationImageView

Thanks to this library you will be able to add an elevation shadow to you ImageView.

A documentation is quite short but it is enough to start. Currently, there is a version 1.1 and the project is released under Apache 2.0 license.

10. Floating Action Button Speed Dial

This is a library which provides an implementation of the Material Design Floating Action Button Speed Dial.

The documentation is really comprehensive and includes also a sample app available in Google Play.
The project is released under Apache 2.0 license.

11. RadiusTransition

This is an app which is a showcase of how to transition between a circular image to a square one across activities. The image in this example is fetched via Glide.

The README is short but you can always check code, as it is quite straightforward. There is no mention about a license.

12. hiroaki

The intention of Hiroaki is to achieve clarity on your API integration tests in an idiomatic way by leveraging the power of Kotlin.

It uses MockWebServer to provide a mock server as a target for your HTTP requests that you’ll use to mock your backend.

That enables you to assert over how your program reacts to some predefined server & API behaviors.

The documentation is really comprehensive and definitely worthy to check. The project is written under Apache 2.0 license.

13. Ferris-Wheel

Many of you probably heard about London Eye. It is a one of the world’s tallest Ferris wheel. Now you can have your own Ferris wheel in your application thanks to Ferris-Wheel library.

In the README you can check how to include and use it in your project. It is released under Apache 2.0 license.

14. gradle-dependency-graph-generator-plugin

This is a Gradle plugin that lets you visualize your dependencies form a project in a graph.

In the documentation you can find how to set up the plugin and how to use it.
The project is written under Apache 2.0 license.

15. Runtime Permission

This library is, according to Florent Champigny, the simpliest way to ask for runtime permissions on Android. We can choose our own way using:

  • Kotlin
  • Kotlin with Coroutines
  • RxJava
  • Java8
  • Java7

For more information check the documentation. The project is released under Apache 2.0 license.

16. Prefekt

Prefekt is an Android SharedPreferences library for Kotlin. It is typesafe, easy to consume, and efficient thanks to in-memory caching. You can subscribe for updates so that if the underlying SharedPreference value is changed you receive a callback even if the change was made directly to the SharedPreference value is changed outside of Prefekt.

According to the author, there are some interesting features in the pipeline so we should watch this project, which is released under Apache 2.0 license.

17. ColorPickerPreference

A library that let you implement ColorPickerView, ColorPickerDialog and ColorPickerPreference. It can also get HSV color, RGB values, HTML color code from your gallery pictures or custom images just by touching.

The documentation is really comprehensive and contains even methods descriptions. Definitely worthy to check.
License: Apache 2.0

18. MusicVisualization

This project ports some music visulization shaders from WebGL to Android OpenGL ES. It captures the audio’s fft & waveform data by system’s Visualizer, and then pass them to a 2-lines height texture that can be used in a shader program.

There is also sample apk available in release page.
The project is released under Apache 2.0 license.

19. TreeView

Android TreeView is used to display data in tree structures.
The library is designed to support different algorithms. Currently, only the algorithm from Walker (with the runtime improvements from Buchheim) has been implemented.

The documentation is comprehensive and provides vital steps to include the library to Android project.
License: Apache 2.0

20. inline-youtube-view

This is an utility library for using YouTube inside your Android app. The YouTube component was developed to work with Android, iOS and React Native.

The library addresses some problems and challenges which come with facts that:

  • YouTube SDK does not work on all devices (where YouTube services could have been uninstalled),
  • we cannot run more than one instance of the YouTube view,
  • it is problematic to play multiple videos inline in a single list.

More in the documentation. There is no mention about a license.

21. WhatsNew

WhatsNew automatically displays a short description of the new features (in a DialogFragment)when users update your app. Inspired by WhatsNew.

In the README you can check how to apply it. The project is released under MIT license.

Using WhatsNew can really increase a user experience of your app. However, what takes it to the next level, is allowing your users to request new features.  The easiest and the quickest way to have this functionality in your app is to use Instabug. This tool owns a single channel where all your users’ feature requests are submitted from inside your app. You can add your ideas to the list and let your users vote for ideas submitted by others or added by you. Then you can prioritise your backlog or even offer a discussion board, where you can engage your users to ask for details and reply to questions and concerns.

22. ColoredShadowImageView

This is a second library in that compilation which allows to create a beautiful shadow around the image (ImageView) based on corresponding area colors.

The documentation includes a sample apk, setup, usage and some customisations which can be applied to the code.
The project is released under Apache 2.0 license.

23. easylauncher-gradle-plugin

This library helps with modifying a launcher icon of each of your app-variants using simple Gradle rules by adding ribbons of any color, overlaying your own images or changing the colors of the icon.

The documentation contains a usage of the library, how to customise its behaviours, describes available options and a project structure.
It is released under Apache 2.0 license.

24. ConcealerNestedScrollView

This is a library which simplifies hiding Views from top and bottom when scrolling a custom NestedScrollView.

In the documentation there is a manual how to achieve this effect. There is also no license.

25. Theatre

This is a pet project from André Mion which uses Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components. The main purpose is using the latest practices and libraries.

The project uses libraries like:

Android KTX, Android Architecture Components, Dagger 2, RxJava, RxKotlin, RxAndroid, ConstraintLayout, Glide and many more. It’s really worthy to check!
License: Apache 2.0.


That’s it! I hope you enjoyed my list. If you know any other great library, which was released in past 3 months* and I didn’t mention about it, please let me know in the comments.


Also, to be notified about my new articles and stories, follow me on Medium and Twitter. You can find me on LinkedIn as well. Cheers!