A curated list of awesome Kotlin frameworks, libraries, documents and other resources.
Website
- Kotlin Home
- Kotlin Documents
- Try Kotlin in your Browser
- Kotlin Blog
- Kotlin GitHub
- Kotlin Koans
- Issue Tracker
Libraries
- leakcanary – A memory leak detection library for Android.
- p3c – Alibaba Java Coding Guidelines pmd implements and IDE plugin
- material-dialogs – ๐ A beautiful, fluid, and extensible dialogs API for Kotlin & Android.
- flexbox-layout – Flexbox for Android
- anko – Pleasant Android application development
- plaid – An Android app which provides design news & inspiration as well as being an example of implementing material design.
- MaterialDrawer – The flexible, easy to use, all in one drawer library for your Android project. Now brand new with material 2 design.
- recyclerview-animators – An Android Animation library which easily add itemanimator to RecyclerView items.
- AppIntro – Make a cool intro for your Android app.
- RxBinding – RxJava binding APIs for Android’s UI widgets.
- kotlinx.coroutines – Library support for Kotlin coroutines
- timber – A logger with a small, extensible API which provides utility on top of Android’s normal Log class.
- ktor – Framework for quickly creating connected applications in Kotlin with minimal effort
- okio – A modern I/O library for Android, Kotlin, and Java.
- TranslationPlugin – ๐Translation plugin for IntelliJ based IDEs/Android Studio
- kotlin-native – Kotlin/Native infrastructure
- RxKotlin – RxJava bindings for Kotlin
- koin – Koin – a pragmatic lightweight dependency injection framework for Kotlin
- Compressor – An android image compression library.
- acra – Application Crash Reports for Android
- coil – Image loading for Android backed by Kotlin Coroutines.
- ideavim – Vim emulation plugin for IDEs based on the IntelliJ Platform
- topeka – A fun to play quiz that showcases material design on Android
- MultiType – Easier and more flexible to create multiple types for Android RecyclerView.
- Alerter – An Android Alerting Library
- Exposed – Kotlin SQL Framework
- DBFlow – A blazing fast, powerful, and very simple ORM android database library that writes database code for you.
- Android-Iconics – Android-Iconics – Use any icon font, or vector (.svg) as drawable in your application.
- williamchart – Android Library to rapidly develop attractive and insightful charts in android applications.
- javalin – A simple and modern Java and Kotlin web framework
- Design-Patterns-In-Kotlin – Design Patterns implemented in Kotlin
- muzei – Muzei Live Wallpaper for Android
- ktlint – An anti-bikeshedding Kotlin linter with built-in formatter
- RxDownload – A multi-threaded download tool written with RxJava and Kotlin
- mavericks – Mavericks: Android on Autopilot
- Pokedex – ๐ก๏ธ Android Pokedex using Hilt, Motion, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData) based on MVVM architecture.
- fuel – The easiest HTTP networking library for Kotlin/Android
- sqldelight – SQLDelight – Generates typesafe Kotlin APIs from SQL
- Context-Menu.Android – You can easily add awesome animated context menu to your app.
- mockk – mocking library for Kotlin
- Fotoapparat – Making Camera for Android more friendly. ๐ธ
- tivi – Tivi is a work-in-progress TV show tracking Android app, which connects to Trakt.tv. It is still in its early stages of development and currently only contains two pieces of UI. It is under heavy development.
- ShimmerRecyclerView – null
- corda – Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda’s smart contract technology allows businesses to transact directly, with value.
- intellij-rainbow-brackets – ๐Rainbow Brackets / Rainbow Parentheses for IntelliJ based IDEs/Android Studio
- gradle-play-publisher – GPP is Android’s unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.
- wire – gRPC and protocol buffers for Android, Kotlin, and Java.
- android-clean-architecture-boilerplate – An android boilerplate project using clean architecture
- detekt – Static code analysis for Kotlin
- intellij-rust – Rust plugin for the IntelliJ Platform
- Timeline-View – Android Timeline View is used to display views like Tracking of shipment/order, steppers etc.
- kotlin-dsl-samples – Samples builds using the Gradle Kotlin DSL
- tornadofx – Lightweight JavaFX Framework for Kotlin
- FastAdapter – The bullet proof, fast and easy to use adapter library, which minimizes developing time to a fraction…
- booster – ๐Optimizer for mobile applications
- qksms – The most beautiful SMS messenger for Android
- compose-jb – Jetpack Compose for Desktop, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
- Spotlight – Android Library that lights items for tutorials or walk-throughs etc…
- VancedManager – Vanced Installer
- dexcount-gradle-plugin – A Gradle plugin to report the number of method references in your APK on every build.
- kotlinx.serialization – Kotlin multiplatform / multi-format serialization
- kotest – Powerful, elegant and flexible test framework for Kotlin
- TourGuide – TourGuide is an Android library that aims to provide an easy way to add pointers with animations over a desired Android View
- kotlinpoet – A Kotlin API for generating .kt source files.
- AboutLibraries – AboutLibraries is a library to offer some information of libraries.
- Kotlin-for-Android-Developers – Companion App for the book
- kotlin-koans – Kotlin workshop
- mockito-kotlin – Using Mockito with Kotlin
- Kodein-DI – Painless Kotlin Dependency Injection
- Scarlet – A Retrofit inspired WebSocket client for Kotlin, Java, and Android
- android-upload-service – Easily upload files (Multipart/Binary/FTP out of the box) in the background with progress notification. Support for persistent upload requests, customizations and custom plugins.
- ViewPagerTransforms – Library containing common animations needed for transforming ViewPager scrolling for Android v13+.
- CalendarView – A highly customizable calendar library for Android, powered by RecyclerView.
- TouchImageView – Adds touch functionality to Android ImageView.
- Simple-Calendar – A simple calendar with events, customizable widgets and no ads.
- Android-FilePicker – Photopicker and document picker for android
- Android-SwitchIcon – Google launcher-style implementation of switch (enable/disable) icon
- kotterknife – View “injection” library for Android.
- susi_android – SUSI.AI Android App https://play.google.com/apps/testing/ai.susi
- Cicerone – ๐ฆ Cicerone is a lightweight library that makes the navigation in an Android app easy.
- android-youtube-player – YouTube Player library for Android and Chromecast, stable and customizable.
- RichPath – ๐ช Rich Android Path. ๐คก Draw as you want. ๐ Animate much as you can.
- SuperSLiM – A layout manager for the RecyclerView with interchangeable linear, grid, and staggered displays of views, all with configurable section headers including the sticky variety as specified in the material design docs.
- MultiSnapRecyclerView – Android library for multiple snapping of RecyclerView
- search – Material Design Search component for Android, SearchView
- Store – Kotlin Library for Async Data Loading and Caching
- dotsindicator – Three material Dots Indicators for view pagers in Android !
- Colorful – Android runtime theme library
- Unciv – Open-source Android/Desktop remake of Civ V
- spek – A specification framework for Kotlin
- JsonToKotlinClass – ๐Plugin for Android Studio And IntelliJ Idea to generate Kotlin data class code from JSON text ( Json to Kotlin )
- Konfetti – Celebrate more with this lightweight confetti particle system ๐
- transitioner – A library for dynamic view-to-view transitions
- XiaomiADBFastbootTools – A simple tool for managing Xiaomi devices on desktop using ADB and Fastboot
- adb-idea – A plugin for Android Studio and Intellij IDEA that speeds up your day to day android development.
- SdkSearch – An Android app and Chrome extension for searching the Android SDK documentation.
- retrofit2-kotlin-coroutines-adapter – A Retrofit 2 adapter for Kotlin coroutine’s Deferred type.
- dokka – Documentation Engine for Kotlin
- VDM – GUI for command-line video downloader (youtube-dl annie)
- InboxRecyclerView – Build expandable descendant navigation, inspired by Google Inbox
- CircularImageView – Create circular ImageView in Android in the simplest way possible
- UserLAnd – Main UserLAnd Repository
- drag-select-recyclerview – ๐ Easy Google Photos style multi-selection for RecyclerViews, powered by Kotlin and AndroidX.
- ComposeCookBook – A Collection on all Jetpack compose UI elements, Layouts, Widgets and Demo screens to see it’s potential
- StreetComplete – Easy to use OpenStreetMap editor for Android
- open-event-attendee-android – Open Event Attendee Android General App https://github.com/fossasia/open-event-android/blob/apk/open-event-dev-app-playStore-debug.apk
- Balloon – ๐ A lightweight popup like tooltips, fully customizable with an arrow and animations.
- WechatMagician – WechatMagician is a Xposed module written in Kotlin, that allows you to completely control your Wechat.
- Lightning-Browser – A lightweight Android browser with modern navigation
- play-billing-samples – Samples for Google Play In-app Billing
- android-modular-architecture – ๐ Sample Android Components Architecture on a modular word focused on the scalability, testability and maintainability written in Kotlin, following best practices using Jetpack.
- android-components – A collection of Android libraries to build browsers or browser-like applications.
- kickmaterial – Crowdfunding app concept for Android. Created to showcase new trends in Android development with strong focus on Material Design.
- Flashbar – โก๏ธA highly customizable, powerful and easy-to-use alerting library for Android.
- http4k – The Functional toolkit for Kotlin HTTP applications. http4k provides a simple and uniform way to serve, consume, and test HTTP services.
- AwesomeQRCode – An awesome QR code generator for Android.
- SearchFilter – Implementing Search Filter Animation in Kotlin for Quora Meets LinkedIn, Our App Design Concept
- chucker – ๐ An HTTP inspector for Android & OkHTTP (like Charles but on device) – More Chucker than Chuck
- Splitties – A collection of hand-crafted extensions for your Kotlin projects.
- CatchUp – An app for catching up on things.
- klaxon – A JSON parser for Kotlin
- paris – Define and apply styles to Android views programmatically
- create-android-kotlin-app – Create kotlin android project with one line of command.
- press – Cross-platform markdown editor written in Kotlin Multiplatform (work in progress)
- LoadingButtonAndroid – A button to substitute the ProgressDialog
- StfalconImageViewer – A simple and customizable Android full-screen image viewer with shared image transition support, “pinch to zoom” and “swipe to dismiss” gestures
- EasyImage – Library for picking pictures from gallery or camera
- FancyShowCaseView – An easy-to-use customisable show case view with circular reveal animation.
- badge-magic-android – Badge Magic with LEDs – Android App https://play.google.com/apps/testing/org.fossasia.badgemagic
- orbit – Orbit – Virtual actor framework for building distributed systems
- Android-TextView-LinkBuilder – Insanely easy way to define clickable links within a TextView.
- jclasslib – jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode.
- kscript – Scripting enhancements for Kotlin
- KeyboardVisibilityEvent – Android Library to handle software keyboard visibility change event.
- tasks – Bringing Astrid Tasks back from the dead
- MVVM-Architecture – The practice of MVVM + Jetpack architecture in Android.
- Voice – Minimalistic audiobook player
- cascade – Nested popup menus with smooth height animations
- clikt – Multiplatform command line interface parsing for Kotlin
- Material-BottomNavigation – Bottom Navigation widget component inspired by the Google Material Design Guidelines at https://www.google.com/design/spec/components/bottom-navigation.html
- Android-Kotlin-Clean-Architecture – Android Sample Clean Architecture App written in Kotlin
- FragNav – An Android library for managing multiple stacks of fragments
- Multi-Selection – Multiselection Solution for Android in Kotlin
- kotlin-logging – Lightweight logging framework for Kotlin. A convenient and performant logging library wrapping slf4j with Kotlin extensions
- shadow – Deprecated because of the performance not fine. Android custom shadow view, can replace your CardView
- Barista – โ The one who serves a great Espresso
- fluid-slider-android – ๐ง A slider widget with a popup bubble displaying the precise value selected. Android library made by @Ramotion
- conference-app-2018 – The Official Conference App for DroidKaigi 2018 Tokyo
- FabFilter – Android app to showcase complex UI/Animations with and without MotionLayout
- contour – Layouts with lambdas ๐
- Bubble-Picker – An easy-to-use animation which can be used for content picking for Android
- Cyanea – A theme engine for Android
- TransformationLayout – ๐ Transform into a different view or activity using morphing animations.
- IntelliJ-EmmyLua – Lua IDE/Debugger Plugin for IntelliJ IDEA
- Android-Indefinite-Pager-Indicator – A lightweight, plug-and-play indefinite pager indicator for RecyclerViews & ViewPagers.
- StateMachine – A Kotlin DSL for finite state machine
- SmoothBottomBar – A lightweight Android material bottom navigation bar library
- clean-architecture-components-boilerplate – A fork of our clean architecture boilerplate, this time using the Android Architecture Components
- AdaptiveIconPlayground – An Android app for experimenting with Adaptive Icons.
- android-target-tooltip – Create Toast like tooltips, but targets can be specified, plus custom properties and features
- CircularProgressBar – Create circular ProgressBar in Android โญ
- MultiStateView – Android View that displays different content based on its state
- materialChipView – Material Chip view. Can be used as tags for categories, contacts or creating text clouds
- PaperPlane – ๐ PaperPlane – An Android reading app, including articles from Zhihu Daily, Guokr Handpick and Douban Moment.
- LoggingInterceptor – An OkHttp interceptor which has pretty logger for request and response. +Mock support
- idea-gitignore – .ignore support plugin for IntelliJ IDEA
- MaterialStyledDialogs – A library that shows a beautiful and customizable Material-based dialog with header. API 14+ required.
- KotlinUdemy – Learn how to make online games, and apps for Android O, like Pokรฉmon , twitter,Tic Tac Toe, and notepad using Kotlin
- android-snowfall – Fully customizable implementation of “Snowfall View” on Android.
- kotlinx.html – Kotlin DSL for HTML
- Kakao – Nice and simple DSL for Espresso in Kotlin
- VPNHotspot – Share your VPN connection over hotspot or repeater! (root required)
- TimberX – Material theme music player that works across all form factors (phones, wear, auto, cast, assistant) and uses latest tools (Kotlin, Architecture components, Room, Databinding)
- DisneyMotions – ๐ฆ A Disney app using transformation motions based on MVVM (ViewModel, Coroutines, Flow, LiveData, Room, Repository, Koin) architecture.
- jasync-sql – Java & Kotlin Async DataBase Driver for MySQL and PostgreSQL written in Kotlin
- tachiyomi-extensions – Source extensions for the Tachiyomi app.
- CatLoadingView – Android CatLoadingView
- input-mask-android – User input masking library repo.
- DrawableToolbox – ๐ ๏ธ The missing drawable toolbox for Android. Create drawables programmatically and get rid of the boring and always repeated drawable.xml files.
- kyrie – ๐ Animated Vector Drawables on steroids ๐
- Switcher – Android implementation of switch animation from Oleg Frolov
- SpeedView – Dynamic Speedometer and Gauge for Android. amazing, powerful, and multi shape โก
- Tusky – An Android client for the microblogging server Mastodon
- CodeGlance – Intelij IDEA plugin for displaying a code mini-map similar to the one found in Sublime
- MaterialFiles – Material Design file manager for Android
- TimelineView – Cute timeline view for android
- element-android – A glossy Matrix collaboration client for Android.
- CircleMenu – CircleMenu is a simple, elegant menu with a circular layout.
- apkupdater – APKUpdater is an open source tool that simplifies the process of finding updates for your installed apps.
- graphql-kotlin – Libraries for running GraphQL in Kotlin
- bugsnag-android – Bugsnag crash monitoring and reporting tool for Android apps
- material-cab – ๐ An Android & Kotlin library for placing and manipulating Contextual Action Bars in your UI.
- MaterialSearchView – Android Search View based on Material design guidelines.
- ReadableBottomBar – Yet another material bottom bar library for Android
- android-historian – A demo of the Android Material Design Support libraries
- photo-affix – ๐ท Stitch your photos together vertically or horizontally easily!
- Kaspresso – Great UI test framework
- kotlin-android-template – Android + Kotlin + Github Actions + ktlint + Detekt + Gradle Kotlin DSL + buildSrc = โค๏ธ
- gradle-dependency-graph-generator-plugin – Gradle plugin that generates dependency graphs from your project.
- KaMPKit – KaMP Kit by Touchlab is a collection of code and tools designed to get your mobile team started quickly with Kotlin Multiplatform.
- spark-kotlin – A Spark DSL in idiomatic kotlin // dependency: com.sparkjava:spark-kotlin:1.0.0-alpha
- Time – Type-safe time calculations in Kotlin, powered by generics.
- Sneaker – A lightweight Android library for customizable alerts
- MVVM-Kotlin-Android-Architecture – MVVM + Kotlin + Retrofit2 + Hilt + Coroutines + Kotlin Flow + mockK + Espresso + Junit5
- GraphView – Android GraphView is used to display data in graph structures.
- WaveDisPlay – A view that can be used like recyclerView to see the content of the next or previous page
- Croppy – Image Cropping Library for Android
- BlackLight – A light Sina Weibo client for Android
- ktx – LibKTX: Kotlin extensions for LibGDX games and applications
- accompanist – A collection of extension libraries for Jetpack Compose
- KAndroid – Kotlin library for Android
- MeowBottomNavigation – Android Meow Bottm Navigation
- code-reader – One Multi program language code reader
- android-clean-architecture-mvi-boilerplate – A fork of our clean architecture boilerplate using the Model-View-Intent pattern
- funKTionale – Functional constructs for Kotlin
- Flym – Flym News Reader is a light Android feed reader (RSS/Atom)
- Rocket.Chat.Android – Legacy mobile Rocket.Chat client in Kotlin for Android
- android_dbinspector – Android library for viewing and sharing in app databases.
- Ribble – Simple Dribbble Client using Dribbble API, fully written in Kotlin ๐ฑ โค๏ธ
- dgs-framework – null
- AutoFitTextView – A TextView that automatically fit its font and line count based on its available size and content
- Jetpack-Compose-Playground – Community-driven collection of Jetpack Compose example code and tutorials ๐ https://foso.github.io/compose
- McImage – Android Gradle Plugin — Auto Check big image and compress image in building.
- ridesharing-uber-lyft-app – Ride-Sharing Uber Lyft Android App – Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft – Open-Source Project By MindOrks
- MapMe – The Android maps adapter
- MVICore – MVI framework with events, time-travel, and more
- android – ๐ฑ Home Assistant Companion for Android
- debug-bottle – ๐ผDebug Bottle is an Android runtime debug / develop tools written using kotlin language.
- Shizuku – Using system APIs directly with adb/root privileges from normal apps through a Java process started with app_process.
- Showkase – ๐ฆ Showkase is an annotation-processor based Android library that helps you organize, discover, search and visualize Jetpack Compose UI elements
- habitica-android – Native Android app for Habitica
- UltimateBarX – Make Android transparent statusbar and navigationbar easy.
- MultiSearchView – Yet another built-in animated search view for Android.
- PeopleInSpace – Minimal Kotlin Multiplatform project using Jetpack Compose and SwiftUI
- refreshVersions – Life is too short to google for dependencies and versions
- jackson-module-kotlin – Module that adds support for serialization/deserialization of Kotlin (http://kotlinlang.org) classes and data classes.
- conference-app-2019 – The Official Conference App for DroidKaigi 2019 Tokyo
- kotlin-coroutines-retrofit – Kotlin Coroutines await() extension for Retrofit Call
- rabbit-client – ๐ฐ a simple and easy to use android apm framework (tools)
- adb-event-mirror – Mirror the touch/key/button events of one device onto one or more other devices in real-time
- ktorm – A lightweight ORM framework for Kotlin with strong-typed SQL DSL and sequence APIs.
- Morphing-Material-Dialogs – Material dialog โค๏ธ morphing animation. An android kotlin UI library for building beautiful animations for converting a floating action button into a material dialog.
- morph-bottom-navigation – This library represents a Bottom Navigation with an awesome morph effect on top of the selected item
- idea-multimarkdown – Markdown language support for IntelliJ IDEA.
- Material-Calendar-View – Material Calendar View for Android
- AssistedInject – Assisted injection for JSR 330.
- android-testing – Android Testing Codelab
- KedditBySteps – Small Reddit Android client developed with Kotlin
- LastAdapter – Don’t write a RecyclerView adapter again. Not even a ViewHolder!
- kotlinx-datetime – KotlinX multiplatform date/time library
- AndroidVeil – ๐ญ An easy, flexible way to implement veil skeletons and shimmering effect for Android.
- AceJump – ๐ ฐ๏ธ single character search, select, and jump
- slidetoact – A simple ‘Slide to Unlock’ Material widget for Android, written in Kotlin ๐ฑ๐จ๐ฆ
- kotlin-statistics – Idiomatic statistical operators for Kotlin
- News – A sample News ๐ app built using Modern Android Development [Architecture Components, Coroutines, Retrofit, Room, Kotlin, Dagger]
- stripe-android – Stripe Android SDK
- korge – KorGE Game Engine. Multiplatform Kotlin Game Engine
- libaums – Open source library to access USB Mass Storage devices on Android without rooting your device
- proton-mail-android – ProtonMail Android app
- kotlin-wrappers – Kotlin wrappers for popular JavaScript libraries
- assent – ๐ Android Runtime Permissions made easy and compact, for Kotlin and AndroidX. With coroutines support!
- AnimatedBottomBar – A customizable and easy to use BottomBar navigation view with sleek animations, with support for ViewPager, ViewPager2, NavController, and badges.
- CodeView-Android – Display code with syntax highlighting โจ in native way.
- WaitingDots – null
- insetter – Insetter is a library to help apps handle WindowInsets more easily
- conference-app-2020 – The Official Conference App for DroidKaigi 2020 Tokyo
- MotionToast – ๐ A Beautiful Motion Toast Library for Kotlin Android
- Reaktive – Kotlin multi-platform implementation of Reactive Extensions
- Localization – [Android] In-app language changing library
- navigation-toolbar-android – Navigation toolbar is a slide-modeled UI navigation controller made by @Ramotion
- BottomSheetMenu – BottomSheetMenu style dialogs for Android
- awesome-android-learning-resources – ๐ A curated list of awesome android learning resources for android app developers.
- ViewPump – View Inflation you can intercept.
- CounterFab – A FloatingActionButton subclass that shows a counter badge on right top corner
- Nammu – Permission helper for Android M – background check, monitoring and more
- StickySwitch – โญ๏ธ beautiful switch widget with sticky animation โญ๏ธ
- LEGO-Catalog – A LEGOยฎ Catalog app illustrating current Android Architecture state using Android development best practices.
- cycler – null
- TimetableLayout – TimetableLayout is a RecyclerView.LayoutManager to display the timetable for Android.
- Kluent – Fluent Assertion-Library for Kotlin
- ktor-samples – Sample projects for Ktor
- Kotson – Kotlin bindings for JSON manipulation via Gson
- creative-viewpager – Creative View Pager easy to use in Android
- LiquidSwipe – Android LiquidSwipe Library
- permissions-dispatcher-plugin – IntelliJ plugin for supporting PermissionsDispatcher
- Result – The modelling for success/failure of operations in Kotlin
- kotless – Kotlin Serverless Framework
- gradle-recipes – Ready-to-use recipes for common build customizations that showcase the Android Gradle plugin’s public APIs and DSL.
- ComposeAcademy-Playground – Playground project for the Jetpack Compose APIs
- turbine – A small testing library for kotlinx.coroutines Flow
- notify – Simplified notification construction and delivery for Android.
- deep-clean – When Gradle or the IDE let you down, just –nuke all them caches
- MotionLayoutCarousel – Simple Carousel built with Android MotionLayout
- magellan – The simplest navigation library for Android.
- ZoomLayout – 2D zoom and pan behavior for View hierarchies, images, video streams, and much more, written in Kotlin for Android.
- ktlint-gradle – A ktlint gradle plugin
- Transportr – Free Public Transport Assistant without Ads or Tracking
- Spark – ๐จ An Android library to create gradient animation like Instagram&Spotify
- RoboPOJOGenerator – IntelliJ IDEA/Android studio plugin: Json to Java and Kotlin POJO (GSON, Logan Square, Jackson, FastJSON, AutoValue, Moshi)
- wormhole – A time-traveling bytecode rewriter which adds future APIs to android.jar
- graphql-java-tools – A schema-first tool for graphql-java inspired by graphql-tools for JS
- Mango – ๐ An Android app for dribbble.com
- kovenant – Kovenant. Promises for Kotlin.
- PhysicsLayout – Android layout that simulates physics using JBox2D
- kotshi – An annotation processor that generates Moshi adapters from immutable Kotlin data classes.
- recyclical – ๐ An easy-to-use, extensible Kotlin DSL for setting up and manipulating RecyclerViews.
- KotlinMultiPlatform – Kotlin MultiPlatform App (Android, iOS, JVM & JS). MVVM/MVP – Kotlin MultiPlatform
- ProgressButton – Android Progress Button
- ScreenStream – Screen Stream over HTTP mobile app
- Shot – Gradle plugin developed to facilitate screenshot testing for Android
- android-architecture-counter-sample – Sample app using Android architecture components
- intellij-solidity – Solidity plugin for IntelliJ
- CallRecorder – Android Phone Call Recorder
- ModularizationExample – Easy to understand real-life example of a modularized Android app
- Music-Player-GO – ๐ถ๐ผ Very slim music player ๐จโ๐ค 100% made in Italy ๐๐ณ๐๐๐
- retrofit2-kotlinx-serialization-converter – A Retrofit 2 Converter.Factory for Kotlin serialization.
- show-java – An APK (android application), JAR & Dex decompiler for android.
- espresso-samples – A collection of samples demonstrating different Espresso techniques.
- kotlin-language-server – Intelligent Kotlin support for any editor/IDE using the Language Server Protocol
- MinecraftDev – Plugin for IntelliJ IDEA that gives special support for Minecraft modding projects.
- reactive-mvvm-android – My way to MVVM using KotlinX Coroutines and Android data-binding
- Simple-File-Manager – Easy app for managing your files without ads, respecting your privacy & security
- picnic – A Kotlin DSL and Java/Kotlin builder API for constructing HTML-like tables which can be rendered to text
- Stepper-Touch – Stepper Touch for Android based on MaterialUp submission
- countries – An example Android app using Retrofit, Realm, Parceler, Dagger and the MVVM pattern with the data binding lib.
- android-kotlin-mvp-architecture – This repository contains a detailed sample app that implements MVP architecture in Kotlin using Dagger2, Room, RxJava2, FastAndroidNetworking and PlaceholderView
- Kotpref – Kotpref – Android SharedPreferences delegation library for Kotlin
- scabbard – ๐ก A tool to visualize Dagger 2 dependency graphs
- Leku – ๐ Map location picker component for Android. Based on Google Maps. An alternative to Google Place Picker.
- ZoomRecylerLayout – ๐ข Zoom Recycler Layout Manager For Android Kotlin
- FluidKeyboardResize – Smoothly reacting to keyboard visibility changes in Android
- FlowBinding – Kotlin Coroutines Flow binding APIs for Android’s platform and unbundled UI widgets, inspired by RxBinding.
- kvision – Object oriented web framework for Kotlin/JS
- lockwise-android – Firefox’s Lockwise app for Android
- Posts – A sample Android app using Kotlin, Dagger 2, RxJava, RxAndroid, Retrofit and Android Architecture Components with a modular setup & effective networking
- GuideToCustomViews – The ultimate guide to Android custom views
- ImagePicker – ๐ธImage Picker for Android, Pick an image from Gallery or Capture a new image with Camera
- Charlatano – Proves JVM cheats are viable on native games, and demonstrates the longevity against anti-cheat signature detection systems
- komga – Media server for comics/mangas/BDs with API and OPDS support
- turbo-intruder – Turbo Intruder is a Burp Suite extension for sending large numbers of HTTP requests and analyzing the results.
- IndicatorFastScroll – Android library providing a simple UI control for scrolling through RecyclerViews
- kotlin-android-starter – [Kotlin Android] Kotlin Android starter based MVP/Dagger2/RxJava2/Robolectric/Espresso/Mockito. It provides a generator to fast create a Kotlin Android project.
- android-startup – ๐ฅThe Android Startup library provides a straightforward, performant way to initialize components at the application startup. .
- SDKHotFix – A SDK hotfix library with stable verified in tens of millions of users can be accessed in only five minutes.
- ElasticViews – โจ An easy way to implement an elastic touch effect for Android.
- vvalidator – ๐ค An easy to use form validator for Kotlin & Android.
- ErrorView – A custom view that displays an image, a title, and a subtitle. Use it for errors, empty states, or just messages with images!
- kotlin-frontend-plugin – Gradle Kotlin (http://kotlinlang.org) plugin for frontend development
- glimpse-android – A content-aware cropping library for Android
- RecyclerView-FastScroller – A fully customizable Fast Scroller for the RecyclerView in Android, written in Kotlin
- anvil – A Kotlin compiler plugin to make dependency injection with Dagger 2 easier.
- workshop – JetBrains Kotlin Workshop Material
- kotlinconf-spinner – null
- Simple-Music-Player – A clean music player with a customizable widget, stylish interface and no ads.
- Theatre – Pet project using Clean Architecture + MVVM + Reactive Extensions + Android Architecture Components. The data are fetched from LondonTheatreDirect API. ๐ญ
- PokemonGoBot – DEFUNCT – Bot that plays Pokemon Go
- kotlin-99 – Ninety-Nine Problems in Kotlin
- Glance – A simple and handy Android database debugging library.
- toolargetool – A tool to help you debug TransactionTooLargeExceptions on Android 7
- MaterialPopupMenu – Shows Material popup menus grouped in sections & more
- ElasticView – Elastic view is a regular CardView, which can flex from user touches
- klock – Multiplatform Date and time library for Kotlin
- android-junit5 – Testing with JUnit 5 for Android.
- FingerprintManager – A small library to handle Android fingerprint API.
- kotlin-algorithm-club – Algorithms and data structures in Kotlin.
- composer – Reactive Android Instrumentation Test Runner. Archived. Marathon is recommended as an alternative (https://github.com/Malinskiy/marathon).
- AnimatedTabLayout – Yet another android tab layout
- intellij-platform-plugin-template – Template repository for creating plugins for IntelliJ Platform
- opentrace-android – OpenTrace Android app. Reference implementation of the BlueTrace protocol.
- ChatMessageView – Chat UI library for Android โก
- kweb-core – A lightweight Kotlin web framework for backend developers ๐ฆ
- kotlin-math – Set of Kotlin APIs to make graphics math easier to write
- spring-boot-kotlin-demo – Spring Boot Kotlin project with a REST Webservice and Spring Data
- ChangeDetection – Automatically track websites changes on Android in background.
- dependency-tree-diff – An intelligent diff tool for the output of Gradle’s dependencies task
- mpv-android – #mpv-android @ freenode
- EmojiSlider – ๐คฏ A slider widget rich in emoji and highly customisable.
- SurvivalManual – Libre Survival Manual for Android with offline in mind
- Animation-Tutorials – ๐ญ๐๐ Tutorials about animations with Animators, Animated Vector Drawables, Shared Transitions, and more
- android-kotlin-fundamentals-starter-apps – android-kotlin-fundamentals-starter-apps
- RxRedux – Redux implementation based on RxJava
- grpc-kotlin – null
- SnapTabLayout – Android library for fluid tablayout animation as seen on Snapchat.
- gradle-advanced-build-version – A plugin to generate the Android version code and version name automatically based on git commits number, date and …
- zircon – Zircon is an extensible and user-friendly, multiplatform tile engine.
- android-navigation – null
- PassAndroid – Android App to view passes
- Light – ๐ญ The usual Snackbar, but elegant
- Needs – ๐ An easy way to implement modern permission instructions popup.
- openfoodfacts-androidapp – Native version of Open Food Facts on Android – Coders & Decoders welcome ๐คณ๐ฅซ
- KotlinPleaseAnimate – Kotlin, please, can you animate my views ?
- Kotlin-Coroutines-Android-Examples – Learn Kotlin Coroutines for Android by Examples. Learn how to use Kotlin Coroutines for Android App Development.
- ArchApp – Simple Android app to show how to design a multi-modules MVVM Android app (fully tested)
- kotlin-dagger-example – Example of Android project showing integration with Kotlin and Dagger 2
- GradleKotlinConverter – Convert from Groovy to Kotlin DSL for Gradle, focused on Android.
- Alpas – The rapid and delightful Kotlin web framework
- Valiktor – Valiktor is a type-safe, powerful and extensible fluent DSL to validate objects in Kotlin.
- Konform – Konform is a type-safe, multiplatform kotlin object validator with fluent dsl.
- FlexboxLayout – FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
- Anko – Anko is a library which makes Android application development faster and easier.
- kotlinx.coroutines – Library support for Kotlin coroutines.
- RxDownload – A multi-threaded download tool written with RxJava and Kotlin.
- ActivityStarter – Android Library that provide simpler way to start the Activities with multiple arguments.
- SQLDelight – Generates Java models from CREATE TABLE statements.
- RxKotlin – Kotlin Adaptor for RxJava
- SuperSLiM – A layout manager for the RecyclerView
- Kotlin/Native – a LLVM backend for the Kotlin compiler
- Bubble-Picker – An easy-to-use animation which can be used for content picking for Android
- ktor – Kotlin Web backend framework.
- KBinding – Android MVVM framework write in kotlin.
- TornadoFX – Lightweight JavaFX Framework for Kotlin
- KotlinPreferencesObject – Kotlin Android Library, that makes preference usage in Kotlin simple and fun, using single object with fields binded to SharedPreferences.
- Kotter Knife – View “injection” library for Android.
- Koi – A lightweight kotlin library for Android, including many useful extensions, async functions and quick adapter.
- Wasabi – An HTTP Framework
- Kara Web Framework – Kara is a web framework for the JVM written in Kotlin.
- Kovenant – Promises for Kotlin
- KAndroid – Kotlin library for Android providing useful extensions to eliminate boilerplate code
- KAConf – KickAss Configuration. An annotation-based configuration system for Java and Kotlin
- Stateful – Stateful helps you delete all the boilerplate code for saving instance state and lets you forget about saving and restoring your fragment’s/activity’s state.
- Fuel – The easiest HTTP networking library for Kotlin/Android.
- funKTionale – Functional constructs and patterns for Kotlin
- Kotson – Gson for Kotlin, Kotson enables you to parse and write JSON with Google’s Gson using a conciser and easier syntax.
- Kwery – Kwery is an SQL library for Kotlin.
- kotlin-core and its related reposiories – A full framework for making Android apps. Based on Anko and Kotson.
- Kotlin NoSQL – Kotlin NoSQL is a reactive and type-safe DSL for working with NoSQL databases.
- shadow – Android custom shadow view, can replace your CardView.
- Exposed – Exposed is a prototype for a lightweight SQL library written over JDBC driver for Kotlin language.
- Klaxon – Klaxon is a lightweight library to parse JSON in Kotlin.
- Kobalt – Kobalt is a modern and versatile build system.
- Debug Bottle – Debug Bottle is an Android runtime debug / develop tools written using kotlin language.
- jackson-module-kotlin – Module that adds support for serialization/deserialization of Kotlin classes and data classes.
- Kodein – Kodein: Kotlin Dependency Injection
- KBuilders – KBuilders turns your Java builders into beautiful Type-Safe Builders.
- Result – This is a tiny framework for modelling success/failure of operations in Kotlin.
- Spek – A Specification Framework for Kotlin
- Klutter – Library of many small useful things
- Kovert – an invisible, super easy and powerful REST and Web framework overt Vert.x or Undertow
- Injekt – native Kotlin dependency injection (object registry style)
- Solr-Undertow – standalone high perforamnce, simple Solr server. Embeddeable as a library.
- Gradle Kotlin DSL – Kotlin language support for Gradle build scripts.
- Kotgo – An android development framework on kotlin using MVP architecture.
- KillerTask – Android AsyncTask wrapper library, written in Kotlin
- Bansa – A state container for Kotlin & Java, inspired by Elm & Redux
- Kotest – A kotlin test framework formerly known as Kotlintest
- kotlin.logging – A logging framework for Kotlin
- Kotlin User Onboarding – A simple and customizable android onboarding library written in Kotlin matching Material Guidelines.
- KotlinDiscreteMathToolkit – Set of extensions for Kotlin that provides Discrete math functionalities.
- Mystique – A generalized adapter for RecyclerView on Android which makes it easy to add heterogeneous items to a list
- Vaadin-On-Kotlin – A simple way to write full-stack component-oriented web apps
- Properlty – Simple configuration library with placeholders resolution and zero magic!
- NoiseView – Android library written in kotlin that add noise effect to image.
- GAnalytics – A tiny api layer for any analytics in application
- PreferenceHolder – Library that is making SharedPreference usage in Kotlin simple and fun.
- LastAdapter – Don’t write a RecyclerView adapter again. Not even a ViewHolder!
- FerrisWheelView – Simple android library to present an animated ferris wheel.
- kotlin-result – A Result monad for modelling success or failure operations, inspired by Rust, Elm, Haskell & Scala.
- Kotlin-Gremlin-OGM – A type-safe object/graph mapping framework for Gremlin enabled graph databases.
- DynamoDB-utils – Collection of AWS DynamoDB utility functions. Query DSL, table cloner and batch writer.
- KBus – Dead simple EventBus for Android made with Kotlin and RxJava 2.
- AndroidCoroutineScopes – This lib implements the most common CoroutineScopes used in Android apps.
- Gradients – A curated collection of splendid gradients
- Kanary – A minimalist web framework for building REST APIs in Kotlin/Java.
- Kissme – Kissme is a multiplatform library providing encrypted key-value storage.
- Arrow – Arrow is a functional companion to Kotlin’s Standard Library around many of Kotlin’s pain points.
- Hoplite – Purely functional config library
- kotlin-compile-testing – A library for testing Kotlin and Java annotation processors, compiler plugins and code generation
- koin – A pragmatic lightweight dependency injection framework for Kotlin developers. Written in pure Kotlin, using functional resolution only: no proxy, no code generation, no reflection.
- firebase-kotlin-sdk – A Kotlin-first Multiplatform SDK for Firebase supporting iOS, Android & Web.
- graphql-kotlin-toolkit – GraphQL toolkit for Kotlin (includes code generator and spring boot integration)
- MobileUI – Cross-platform framework for developing mobile apps (iOS, Android) with native UI in Java and Kotlin.
- TelegramBotAPI – Cross-platform (JVM and JS) library which wrap Telegram Bots API using strong-typed, object-oriented and useful way
- PopKorn – Multiplatform Dependency Injection (JVM, ANDROID, IOS, JS) – Forget about modules and components. DI can be simple.
Applications
- Android – DuckDuckGo Android App
- WordPress-Android – WordPress for Android
- fenix – Firefox for Android
- iosched – The Google I/O 2019 Android App
- Magisk – The Magic Mask for Android
- tachiyomi – Free and open source manga reader for Android.
- sourcerer-app – ๐ฆ Sourcerer app makes a visual profile from your GitHub and git repositories.
- uhabits – Loop Habit Tracker, a mobile app for creating and maintaining long-term positive habits
- kotlinconf-app – KotlinConf Schedule Application
- TapTap – Port of the double tap on back of device feature from Android 11 to any Android 7.0+ device
- Simple-Gallery – Browse your memories without any interruptions with this photo and video gallery
- Foodium – ๐ฒFoodium is a sample food blog Android application ๐ฑ built to demonstrate the use of Modern Android development tools .
- KeePassDX – ๐ฑ KeePass implementation for android with material design and deluxe features
- RetroMusicPlayer – Best material design music player for Android
- vlc-android – VLC for Android, Android TV and ChromeOS
- COVID-19-app-Android-BETA – Source code of the Beta of the NHS COVID-19 Android app
- orgzly-android – Outliner for taking notes and managing to-do lists
- Android-Password-Store – Android application compatible with ZX2C4’s Pass command line application
- WiFiAnalyzer – Android application to analyze WiFi signals.
- OpenNoteScanner – Android application for scanning and manipulating handwritten notes and documents.
- immuni-app-android – Official repository for the Android version of the immuni application
- MarvelHeroes – โค๏ธ A sample Marvel heroes application based on MVVM (ViewModel, Coroutines, LiveData, Room, Repository, Koin) architecture.
Samples
- MovieNight – MovieNight is a sample Android application that uses the clean architecture approach and is written in Kotlin.
- kotlin-android-examples – ๐ช [Examples] Isolated applications purely on Kotlin, for all android devs out there
- android-showcase – ๐ Android application following best practices: Kotlin, coroutines, Clean Architecture, feature modules, tests, MVVM, static analysis…
- android-kotlin-fundamentals-apps – android-kotlin-fundamentals-apps
- Kotlin-Pokedex – ๐ A Pokedex app using ViewModel, LiveData, Room and Navigation
- kotlin-fullstack-sample – Kotlin Full-stack Application Example
- Learn-Jetpack-Compose-By-Example – ๐ This project contains various examples that show how you would do things the “Jetpack Compose” way
- kotlin-examples – Various examples for Kotlin
- architecture-samples – A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.
- architecture-components-samples – Samples for Android Architecture Components.
- compose-samples – Official Jetpack Compose samples.
- cheesesquare – Demos the new Android Design library.
- sunflower – A gardening app illustrating Android development best practices with Android Jetpack.
- uamp – A sample audio app for Android
- camera-samples – Multiple samples showing the best practices in camera APIs on Android.
- cwa-app-android – Native Android app using the Apple/Google exposure notification API.
- Kotlin-Coroutine-Use-Cases-on-Android – ๐ Learning Kotlin Coroutines for Android by example.
- YoutubeUX – With MVVM Architecture pattern using Android Architecture Components This is a sample app demonstrating Youtube player animation using constraint layout
- Android-CleanArchitecture-Kotlin – This is a movies sample app in Kotlin.
- material-components-android-examples – Companion example apps and code for MDC-Android.
- Bandhook-Kotlin – A showcase music app for Android entirely written using Kotlin language
- Alpas Fireplace
- kotlin-examples
- Tachiyomi
- Bandhook-Kotlin
- AndroidRivers
- MaterialAudiobookPlayer
- Lightning Browser
- Kotlin for Android Developers
- kotlin-dagger-example
- Kotlin101
- kotlin_android_base_framework
- kotlillon
- Today History
- tachiyomi
- GreenHellCompanionApp
- Gradle buildSrcVersions
- Pokedex App
Tutorials
- Alpas Tutorials
- Kotlin for Android (I~IV)
- Streamline Android Java Code with Kotlin
- Building APIs on the JVM Using Kotlin and Spark
- Using Project Kotlin for Android
- Learn Kotlin while developing an Android App
- Writing Vaadin WebApps In Kotlin (I~V)
Articles
- Early Impressions of Kotlin
- Better Annotation Processing: Supporting Stubs in kapt
- One month with Kotlin
- Kotlin my productivity language
- Why Kotlin is my next programming language
- Quasar and Kotlin โ a Powerful Match
- The Kobalt diaries: Android
- Exploring the Kotlin standard library
- Swift is like Kotlin
- Backlog Android: From Java to Kotlin With Lots of Fun
- Type-safe Web with Kotlin
- Kotlin and Algebraic Data Types
- AdoraHack: Zero to Kotlin Hero
- Why Kotlin Is Better Than Whatever Dumb Language You’re Using
Videos
- AlpasCasts
- Kotlin: A New Hope in a Java 6 Wasteland
- Advancing Android Development with Kotlin
- Functional Programming with Kotlin
- I built an app in Kotlin, and my client still paid me
- Programming Android with Kotlin
- Kotlin for Android & Java Developers
- Building Spring Boot Applications with the Kotlin Programming Language
Books
- Kotlin for Android Developers – This book is not meant to be a language reference, but a tool for Android developers to learn Kotlin and be able to continue with their own projects by themselves.
- Kotlin in Action (MEAP) – Kotlin in Action takes experienced Java developers from the language basics all the way through building applications to run on the JVM and Android devices.
- Programming Kotlin – Programming Kotlin is aimed at Java developers who want to make the transition to Kotlin. It covers the complete Kotlin language from basic sytax through to concurrency and testing.
- Modern Web Development with Kotlin – Modern Web Development with Kotlin is a book by Denis Kalinin about Web development with Kotlin.
- Fundamental Kotlin – Fundamental Kotlin is a book focused on Kotlin programming language and its comparison to Java.
- Effective Kotlin – Effective Kotlin summarizes the best practices and experiences of the Kotlin community, together with a deep explanation of some lesser-known Kotlin functionalities. All of the best practices are presented as simple rules with detailed explanations.
- Kotlin Blueprints – a practical guide to help build industry grade web applications (Spring Boot, JavaScript, Node.js), Android, Desktop application using TornadoFX. It also includes building an application with Kotlin Native. It shows how to leverage features of Kotlin in the respective technologies. This book is for developers who already know Kotlin and want to build something using Kotlin for Web/Android/Desktop/Native
Tools
- sonarlint-intellij – An IDE extension that helps you detect and fix quality issues as you write code.
- IntelliJ IDEA 15 – The best Kotlin IDE, support Java, Groovy, Scala and Android development.
- dokka – Dokka is a documentation engine for Kotlin, performing the same function as javadoc for Java.
- kotlin-vim – Kotlin plugin for Vim. Featuring syntax highlighting and basic indentation
- kotlin-sublime-package – Sublime Text 2 Package for Kotlin Programming Language
- language-kotlin – Kotlin language support in Atom
- kotlin-plugin-eclipse – The Kotlin Plugin for Eclipse helps you write, run, debug and test programs in Kotlin language.
- android-parcelable-intellij-plugin-kotlin – Plugin which generates Android Parcelable boilerplate code in Intellji/Android Studio.
- CodeGlance – Intelij IDEA plugin for displaying a code mini-map similar to the one found in Sublime.
- kscript – Enhanced scripting support for Kotlin on *nix-based systems.
- detekt – Static code analysis for Kotlin.
- detekt-hint – Detection of design principle violations as a plugin to detekt.
Resources
- Kotlin coding puzzles – Set of programming challenges thats helps to improve whiteboard coding and problem-solving skills.
- /r/Kotlin
- Kotlin Trending on Github
- Kotlin Academy
- Curated Kotlin Resources