10 new Android Libraries And Projects To Inspire You In 2022
Tags: android, kotlin, programming, productivity
Published: 2022-09-12 20:58:17

This is my new compilation of really inspirational, worthy to check, promising Android projects and libraries released or heavily refreshed in 2022.

I have listed projects written in [Kotlin](https://kotlinlang.org/) and [Jetpack Compose](https://developer.android.com/jetpack/compose) in an unordered list so if you are eager to learn new things, check them all!

----------

### 1. [Maestro](https://github.com/mobile-dev-inc/maestro)

This is huge! [Maestro](https://github.com/mobile-dev-inc/maestro) presents a fresh approach to UI tests build on experience from Appium, Espresso, UIAutomator, and XCTest.




It is built for both platforms (operates on emulators / simulators and physical devices, both) and uses `yaml` language to create a test flow.  
You can find a sample test flow below.


![Maestro-yaml](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zyqy4gke2v3etl7zv25j.png)

The project is really [well documented](https://maestro.mobile.dev/getting-started/installing-maestro#android) and has low learning curve.  
100% recommendation! You can learn more about it from an article [Introducing: Maestro — Painless Mobile UI Automation](https://blog.mobile.dev/introducing-maestro-painless-mobile-ui-automation-bee4992d13c1).

License: [Apache-2.0](https://github.com/mobile-dev-inc/maestro/blob/main/LICENSE)

----------

### 2. [Page Curl](https://github.com/oleksandrbalan/pagecurl)

This is a Jetpack Compose library for creating turning pages effect. Looks really cool!

![Page Curl](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/61gcs4m8px9gvino1rvm.gif)

Docs are pretty sufficient to quickly include the lib to your project.  
Most likely it isn’t for your production code, but for some side project for sure!

License: [Apache-2.0](https://github.com/oleksandrbalan/pagecurl/blob/main/LICENSE)

----------

### 3. [Redwood](https://github.com/cashapp/redwood)

This is a library which could be a game changer in building reactive Android, iOS, and web UIs using Kotlin. Delivered by CashApp Development Team. What is Redwood?

> Redwood integrates the Compose compiler, a design system, and a set of platform-specific displays. Each Redwood project is implemented in three parts:

> - A design system. Redwood includes a sample design system called ‘Sunspot’. Most applications should customize this to match their product needs.

> - Displays for UI platforms. The display draws the pixels of the design system on-screen. Displays can be implemented for any UI platform. Redwood includes sample displays for Sunspot for Android, iOS, and web.

> - Composable Functions. This is client logic that accepts application state and returns elements of the design system. These have similar responsibilities to presenters in an MVP system.

Btw, this is still in heavy development process, so be careful ☠️.

License: [Apache-2.0](https://github.com/cashapp/redwood/blob/trunk/LICENSE.txt)

----------

### 4. [Compose Shimmer](https://github.com/valentinilk/compose-shimmer)

This is a library which enables a shimmer effect for Android Jetpack Compose apps.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kk9jrcmvlh1p1du4oqvs.gif)

This effect was developed in order to create a shimmering effect that traverses the whole screen, highlighting only a certain subset of child views.

The library offers also quite advanced theming and usage, which you can check in the comprehensive [docs](https://github.com/valentinilk/compose-shimmer).

License: [Apache-2.0](https://github.com/valentinilk/compose-shimmer/blob/master/LICENSE.md)

----------

### 5. [Appyx](https://bumble-tech.github.io/appyx/)

This is a model-driven navigation for Jetpack Compose from [Bumble Engineering Team](https://twitter.com/BumbleEng).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y86bgi4i98q93ueu4k7w.gif)

Using this lib you can:

> **- Navigate directly from code** — In a type-safe way, without boilerplate

> **- Gain control of navigation state** — Making your navigation unit-testable

> **- Complete control over operations and behaviour** — Use and extend the back stack or the view pager from the library, or build your own

> **- Your own navigation** — With Appyx, you can define your own navigation models

> **- Use any animation for transitions** — Anything you can represent with Compose `Modifiers`

> Using a model-driven approach, navigation states are yours to define — Appyx makes it happen with any animation you can represent using Compose `Modifiers`.

The best way to learn about this cool approach is to check [docs](https://bumble-tech.github.io/appyx/) and a demo app in the project.

License: [Apache-2.0](https://github.com/bumble-tech/appyx/blob/main/LICENSE)

----------

### 6. [Twitter’s Jetpack Compose Rules](https://github.com/twitter/compose-rules)

You probably know that Twitter’s engineering team heavily refactors theirs codebase to adopt Jetpack Compose. But when a big team with a large codebase start working on a challenging task like migrating to Compose, not everybody can be on the same page and follow all the rules.

If you use static analysis tools, [these rules](https://github.com/twitter/compose-rules) will come to the rescue and help to adopt Jetpack Compose to your project.

You can use them with:

-   [ktlint](https://github.com/pinterest/ktlint)
-   [detekt](https://github.com/detekt/detekt)
-   [Spotless](https://github.com/diffplug/spotless)

License: [Apache-2.0](https://github.com/twitter/compose-rules/blob/main/LICENSE.md)

----------

### 7. [Pokedex](https://github.com/skydoves/Pokedex)

Despite the fact I wrote about this project in 2020 on Medium in [The 25 Best Android Libraries and Projects of 2020 — Summer Edition](https://betterprogramming.pub/25-best-android-libraries-projects-of-2020-summer-edition-dfb030a7fb0a), it is still up-to-date and worthy to mention [project](https://github.com/skydoves/Pokedex). It is developed by [Jaewoong Eum](https://medium.com/u/9bb203a4ab2e).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xlq33ddfdetowk0xju3o.gif)

> Pokedex demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture.

There is really neat documentation too.

License: [Apache-2.0](https://github.com/skydoves/Pokedex/blob/main/LICENSE)

----------

### 8. [Permission Flow for Android](https://github.com/PatilShreyas/permission-flow-android)

This library, developed using [Kotlin Flow](https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/), allows to get to know about real-time state of Android app permissions. You can observing permissions with `StateFlow` as well as in Jetpack Compose using `@Composable` annotation:

```
@Composable  
fun ExampleSinglePermission() {  
    val state by rememberPermissionState(Manifest.permission.CAMERA)  
    if (state.isGranted) {  
        // Render something  
    } else {  
        // Render something else  
    }  
}
```

The library is well written and has 87% test coverage. Also, `README` is comprehensive and explains a usage of the lib well.

License: [Apache-2.0](https://github.com/PatilShreyas/permission-flow-android/blob/main/LICENSE)

----------

### 9. [Seal](https://github.com/JunkFood02/Seal)

Seal is open-source Video/Audio downloader, designed and themed with [Material You](https://material.io/blog/start-building-with-material-you).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8bl247heff7hruh096fe.jpeg)

By studying [this project](https://github.com/JunkFood02/Seal) you can learn how to download videos and audio files from video platforms supported by [yt-dlp](https://github.com/yt-dlp/yt-dlp). You can use it to get to know more about [Material Design 3](https://m3.material.io/) UI styling, especially with [dynamic color](https://m3.material.io/foundations/customization) theme.

The project is written according to [MAD Skills](https://developer.android.com/series/mad-skills) principles.

License: [GPL-3.0](https://github.com/JunkFood02/Seal/blob/main/LICENSE)

----------

### 10. [UhuruPhotos. A LibrePhotos client](https://github.com/savvasdalkitsis/uhuruphotos-android)

UhuruPhotos is an Android client for [LibrePhotos](https://github.com/LibrePhotos/librephotos) written using the latest Android technologies ([Jetpack Compose](https://developer.android.com/jetpack/compose), [SQLDelight](https://github.com/cashapp/sqldelight), [Coroutines](https://kotlinlang.org/docs/coroutines-overview.html)) based on MVI architecture.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0y4kayovc9xb11wp1uaf.png)

With features such as offline support, backup, and syncing, it aims to become a Google Photos alternative with a lot of similar features.

You can follow a development process on Github, or even participate in. You can also join a closed beta on the Google Play store.

License: [Apache-2.0](https://github.com/savvasdalkitsis/uhuruphotos-android/blob/main/LICENSE)

----------

That’s it. I hope you enjoyed the list and that some of the libs or projects inspired you. You can also check my other articles that have been released earlier this year or last year:

-   [10 Almost Unknown Tools Which Facilitate Android Apps Development](https://dev.to/mmbialas/10-almost-unknown-tools-which-facilitate-android-development-1e3o)
-   [25 Best Android Libraries, Projects, and Tools You Won’t Want to Miss Out in 2021](https://dev.to/mmbialas/25-best-android-libraries-projects-and-tools-you-won-t-want-to-miss-out-in-2021-3kik)

Till next time!