
Kotlin Multiplatform technology simplifies the development of cross-platform projects.
It reduces time spent writing and maintaining the same code for different platforms while retaining the flexibility and benefits of native programming.
This list contains libraries which support iOS and Android targets in first place.
Resources
🖼 Website
🚀 KMP Library Wizard
🍏 Compose Multiplatform App Wizard
📋 Documentation
❤️ Kotlin -> Swift Interopedia
📜 Blog
📺 YouTube
🤩 Samples
🗄 Jetpack Compose Components
🗄 Compose Multiplatform Components
🗄 Compose Material 3 Gallery
🎨 Material Theme Builder
📚 Kotlin Multiplatform by Tutorials
📚 Simplifying Application Development with Kotlin Multiplatform Mobile
Contents
Kotlin Multiplatform plugin IntelliJ IDEA / Android Studio plugin
This plugin for IntelliJ IDEA and Android Studio enables you to develop Kotlin Multiplatform applications targeting Android, iOS, desktop, web, and server.
CocoaPods integration
Kotlin/Native provides integration with the CocoaPods dependency manager. You can add dependencies on Pod libraries as well as use a multiplatform project with native targets as a CocoaPods dependency (Kotlin Pod).
kotlin-toolchain The Kotlin Toolchain is a unified entry point into Kotlin.

A set of tools for the Kotlin language, with a focus on user experience and tooling
MOKO KSwift gradle plugin

KSwift it’s gradle plugin for generation Swift-friendly API for Kotlin/Native framework.
SKIE gradle plugin

A Swift-friendly API Generator for Kotlin Multiplatform.
CompleteKotlin gradle plugin

Gradle Plugin to enable auto-completion and symbol resolution for all Kotlin/Native platforms.
gradle-buildconfig-plugin gradle plugin

A plugin for generating BuildConstants for any kind of Gradle projects: Java, Kotlin, Groovy, etc. Designed for KTS scripts.
BuildKonfig gradle plugin

BuildConfig for Kotlin Multiplatform Project
Kotlin Native Xcode Support

Plugin to facilitate debugging iOS applications using Kotlin Native in Xcode. Defines Kotlin files as source code, with basic highlighting. Allows you to set breakpoints and includes llvm support to view data in the debug window. Xcode does not officially support custom language definitions, but they also don’t explicitly block them.
Dokka documentation generation tool

Dokka is a documentation engine for Kotlin, performing the same function as javadoc for Java. Just like Kotlin itself, Dokka fully supports mixed-language Java/Kotlin projects. It understands standard Javadoc comments in Java files and KDoc comments in Kotlin files, and can generate documentation in multiple formats including standard Javadoc, HTML and Markdown.
compose-stability-analyzer - composable stability plugin

🦄 Real-time analysis of Jetpack Compose composable functions’ stability directly within Android Studio or IntelliJ.
Nucleus - Nucleus is the native desktop platform for the JVM.

Nucleus is the native desktop platform for the JVM. Combined with Compose Multiplatform, it forms the most complete, most performant, and most deeply integrated desktop application stack ever built — on any language, any runtime, any platform.
Swift Klib gradle plugin

Gradle Plugin to build Swift code as part of your Kotlin Multiplatform project. With this plugin, you can access Swift-only iOS libraries, such as CryptoKit and experiment with Swift to Kotlin interoperability.
parcelize-darwin gradle plugin

Kotlin/Native compiler plugin that generates Parcelable implementations for Darwin (Apple) targets. Allows writing Parcelable classes for all Darwin targets, similary to the Android’s kotlin-parcelize plugin. Can be also used together with the kotlin-parcelize plugin to write Parcelable classes in the commonMain source set.
AboutLibraries gradle plugin

Collects all dependencies and licenses of gradle projects (Kotlin Multiplatform) and provides an easy to integrate Attribution / Open Source library UI to integrate in Compose / Android targets.
Power-Assert gradle plugin

The Kotlin Power-assert compiler plugin improves the debugging experience by providing detailed failure messages with contextual information. It simplifies the process of writing tests by automatically generating intermediate values in failure messages. It helps you understand why a test failed without needing complex assertion libraries.
TestBalloon Kotlin testing made easy, everywhere.

TestBalloon is a DSL-based Kotlin-first test framework. It lets you configure tests with plain Kotlin instead of restrictive, annotation-based magic. TestBalloon’s concise API is extremely flexible and easy to customize for any test setup.
Valkyrie IntelliJ IDEA / Android Studio plugin

Convert SVG/XML icons into Compose ImageVector with convenient code formatting. Plugin provides ability to one-click conversion or icon pack creation with batch export.
KMPify migration tool

Automates the migration of Android Jetpack Compose projects to Compose Multiplatform by converting resource imports, annotations, and references. Built with KMP and Compose Desktop, it speeds up tedious migration tasks.
Libraries
📋 Log
Napier - logger

Napier is a logger library for Kotlin Multiplatform. It supports for the Android, Darwin(iOS, macOS, watchOS, tvOS), JVM, JavaScript. Logs written in common module are displayed on logger viewer of each platform.
Kermit - logger

Kermit is a Kotlin Multiplatform logging utility with composable log outputs. The library provides prebuilt loggers for outputting to platform logging tools such as Logcat and NSLog.
KmLogging - logger

Kotlin multiplatform logging. High performance, composable and simple to use.
kotlin-logging - logger

Lightweight Multiplatform logging framework for Kotlin, written in Pure Kotlin. A convenient and performant logging facade.
🌎 Network
Ktor - http client

Ktor includes a multiplatform asynchronous HTTP client, which allows you to make requests and handle responses, extend its functionality with plugins (formerly known as features), such as authentication, JSON serialization, and so on.
Ktorfit - Retrofit for Kotlin Multiplatform on KTS

HTTP client / Kotlin Symbol Processor for Kotlin Multiplatform (Android,Js, Jvm , Native, iOS) using KSP and Ktor clients inspired by Retrofit https://foso.github.io/Ktorfit
Apollo GraphQL - GraphQL client

A strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform.
WebRTC KMP - WebRTC client

WebRTC Kotlin Multiplatform SDK
Krossbow - WebSocket client

A coroutine-based Kotlin multi-platform WebSocket client and STOMP 1.2 client over web sockets.
MOKO SocketIo - Socket.IO implementation

This is a Kotlin Multiplatform library that provides real-time, event-based communication for iOS and Android.
rsocket - RSocket Kotlin multi-platform implementation

RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets and Aeron.
kt-search - Elasticsearch & OpenSearch client

Multi platform kotlin client for Elasticsearch & Opensearch with easily extendable Kotlin DSLs for queries, mappings, bulk, and more.
Ketch - download manager

Kotlin Multiplatform download manager for Android, iOS and JVM with parallel downloads, pause and resume, queues, scheduling and speed limits. Supports HTTP/HTTPS, FTP/FTPS and BitTorrent/magnet links.
📦 Storage
Multiplatform-Settings - Key-Value preferences

This is a Kotlin library for Multiplatform apps, so that common code can persist key-value data
KVault - secure key-value storage

It acts as an iOS Keychain wrapper and implements encrypted SharedPreferences for Android.
SQLDelight - SQLite database

SQLDelight generates typesafe kotlin APIs from your SQL statements. It verifies your schema, statements, and migrations at compile-time and provides IDE features like autocomplete and refactoring which make writing and maintaining SQL simple.
Realm - NoSQL database

Realm is a mobile database that runs directly inside phones, tablets or wearables. This repository holds the source code for the Kotlin SDK for Realm, which runs on Kotlin Multiplatform and Android.
Kotbase - NoSQL JSON document database

Kotlin Multiplatform library for Couchbase Lite—a lightweight, embedded, NoSQL JSON document database—supporting SQL++, key/value, and full-text search queries; observability; binary attachments; and data sync.
Kotlin Multiplatform AppDirs - User storage/settings/config directories for all platforms (desktop and Android)

Get app data directory in all desktops (Linux/Mac/Windows) as well as user-scoped data directory on Android
Store 5 - Kotlin Library for Async Data Loading and Caching

A Store is responsible for managing a particular data request. When you create an implementation of a Store, you provide it with a Fetcher, a function that defines how data will be fetched over network. You can also define how your Store will cache data in-memory and on-disk.
cache4k - In-memory Cache

Provides a simple in-memory key-value cache for Kotlin Multiplatform, with support for time-based (expiration) and size-based evictions.
SQLiter - SQLite driver

SQLiter is a SQLite driver for Kotlin Native, currently Apple and Windows variants. It is designed to serve as a driver to power user-friendly libraries rather than something to use directly. Currently SQLiter powers the SQLDelight library on native clients.
SQLlin - Low-level API for SQLite in Kotlin Multiplatform

SQLlin is a Kotlin Multiplatform SQLite library that based on DSL and KSP. You can write SQL statements with your Kotlin code and these can be verified by Kotlin compiler.
KStore - File-based object storage

A Kotlin multiplatform library that assists in saving and restoring objects to and from disk
KSafe - Encrypted key-value storage with Hardware-Backed Security

An Effortless Enterprise-Grade Encrypted key-value storage for Kotlin Multiplatform and Native Android with Hardware-Backed Security.
Universal-Cache - Kotlin caching and request sharing

Kotlin Flow caching and request sharing. Main idea: don’t request data more times than it’s needed.
kotlin-cacheable - Annotation-based caching library

Kotlin Cacheable is an annotation-based caching library for Kotlin Multiplatform.
📱 Device
MOKO Permissions - System permissions manager

Kotlin Multiplatform library for providing runtime permissions on iOS & Android
Grant - Permission library for Android & iOS

Kotlin Multiplatform permission library for Android & iOS. No Fragment/Activity needed, ViewModel-first, Compose Multiplatform ready. Fixes Android dead clicks & iOS deadlocks.
Alert-KMP - Local and Native Notifications Library


Native notifications, Toasts, and Alerts for Kotlin Multiplatform.
MOKO Geo - Location manager

Geolocation access for mobile (android & ios) Kotlin Multiplatform development
MOKO Biometry - System biometry manager

This is a Kotlin Multiplatform library that provides authentication by FaceId and TouchId (Fingerprint)
MOKO Media - System media manager

This is a Kotlin Multiplatform library that provides media picking in common code (photo/video) and video player controls.
MediaPlayer-KMP - A Comprehensive Media Player for Kotlin Multiplatform


Features: Platform-agnostic support for Android, iOS, Web, and Desktop. Compose Multiplatform integration, YouTube video and audio playback, streaming support, event handling, ReelsView support, AutoPlay, and Authentication Token implementation.
Kable - Coroutines-powered API for interacting with Bluetooth Low Energy devices.

Kotlin Asynchronous Bluetooth Low Energy provides a simple Coroutines-powered API for interacting with Bluetooth Low Energy devices.
Blue-Falcon - A Bluetooth kotlin multiplatform library for iOS and Android

A Bluetooth “Cross Platform” Kotlin Multiplatform library for iOS, Android, MacOS, Raspberry Pi and Javascript.
Bluetooth in general has the same functionality for all platforms, e.g. connect to device, fetch services, fetch characteristics.
Kontrol - Debug menu

A Kotlin Multiplatform library for creating debug menu.
KMPNotifier - Firebase Push Notification library for iOS and Android

Kotlin Multiplatform Push Notification Library using Firebase for iOS and Android.
Compass - 🧭 Location toolkit for geocoding, geolocation, and autocomplete

Compass is a Kotlin Multiplatform library location toolkit. It provides a set of tools for working with location data, including geocoding, reverse geocoding, and more.
Connectivity - Retrieve and monitor internet connectivity

Connectivity provides network monitoring capabilities for multiplatform projects. It can monitor network connectivity using native APIs on Android and Apple devices, or by making HTTP requests to specified hosts.
kScan - Barcode Scanner

KScan is a Compose Multiplatform library that makes it easy to scan barcodes in your apps
Alarmee Alarm scheduler with local notifications.

A Kotlin/Compose Multiplatform library for easy alarm and local notification scheduling on both Android and iOS.
Kamera - A camera library

A camera library for Compose Multiplatform
Camposer - Compose Multiplatform camera library for Android and iOS.

Camera library built with Compose Multiplatform for photo/video capture, zoom, focus-on-tap, flash/torch, exposure control, and optional code scanning.
CountryPicker-KMP - Country selection with Dial codes, Currencies, Flags and ISO codes

A lightweight KMP library that simplifies country selection by providing Country enum with Dial codes, Currencies, Flags and ISO codes—Adopted for Android, iOS, Desktop, and Web.
KSensor - Live Sensors

Live Sensors/States data from Android & iOS targets
KMP WorkManager - Background task scheduling

A Kotlin Multiplatform library for background task scheduling on Android and iOS, with one-time and periodic tasks, constraints, and persistent task chains.
KHealth - Health data access

A Kotlin Multiplatform library providing a unified, type-safe API for Android Health Connect and Apple HealthKit on iOS and watchOS, with health record reads, writes, and permission management.
💉 Dependency Injection
Koin - DI framework

A pragmatic lightweight dependency injection framework for Kotlin developers. Koin is a DSL, a light container and a pragmatic API
Kodein - DI framework

Kodein is a very simple and yet very useful dependency retrieval container.
kotlin-inject - DI framework

A compile-time dependency injection library for kotlin.
Koject - KSP DI framework

Koject is a DI Container Library for Kolin Multiplatform using KSP.
DI.kt - DI for kotlin multiplatform

Simple DI with compile-time dependency graph validation for kotlin multiplatform. It uses IR to create method’s bodies with dependency injection.
Metro - DI framework

Kotlin compiler plugin–based DI combining ideas from Dagger, Anvil, and Kotlin‑Inject with added features.
🏗 Architecture
KmpEssentials

KmpEssentials is a library that contains apis (40+ Modules) to accelerate your development. Everything from managing the Battery, File System, getting Package information, or taking Photos. Supports iOS, Android & AppleWatch
Evas - Events and States for Kotlin

Evas is a library providing
Events: A performant, scalable and most importantly scoped Event-Channel integrated with coroutines. States: A pragmatic state container.
MVI Kotlin - MVI framework

MVIKotlin is a Kotlin Multiplatform framework that provides a way of (not only) writing shared code using MVI pattern. It also includes powerful debug tools like logging and time travel.
Orbit MVI - MVI framework

Orbit is a Redux/MVI-like library for KMM, targetting Android and iOS.
FlowMVI - Plugin-based MVI framework

FlowMVI is a KMP MVI library based on coroutines with a rich DSL and a powerful plugin system.
KMP-ObservableViewModel - KMP ViewModels

A library (previously known as KMM-ViewModel) that allows you to use AndroidX/Kotlin ViewModels with SwiftUI.
VisualFSM - FSM-based MVI framework

VisualFSM is a Kotlin Multiplatform library for implements an FSM-based (Finite-state machine) MVI pattern and a set of tools for visualization and analysis of FSM’s diagram of states.
Redux Kotlin - Redux framework

Redux implementation for Kotlin (supports multiplatform JVM, native, JS, WASM)
FlowRedux - Statemachine library with nice DSL

Building async. running Kotlin Multiplatform state machine made easy with a DSL and coroutines.
Mobius.kt - Mobius Framework

Kotlin Multiplatform Mobius implementation.
MOKO MVVM - MVVM framework

This is a Kotlin Multiplatform library that provides architecture components of Model-View-ViewModel for UI applications. Components are lifecycle-aware on Android.
Premo — Presentation Model (aka View Model) and Navigation

Premo is a Kotlin Multiplatform library that helps to implement the Presentation Layer and share it on iOS, Android, Desktop and Web. Focus on writing logic instead of solving common and boring UI related issues: lifecycle, persistence, navigation, etc.
Decompose - componentization and navigation

Decompose is a Kotlin Multiplatform library for breaking down your code into lifecycle-aware business logic components (aka BLoC), with routing functionality and pluggable UI (Jetpack Compose, Android Views, SwiftUI, JS React, etc.)
Decompose-Router - navigation

A Compose-multiplatform navigation library that leverage Decompose to create an API inspired by Conductor
Ballast - State Management framework

Opinionated Application State Management framework for Kotlin Multiplatform
Essenty/Lifecycle - lifecycle handling in the Kotlin Multiplatform common code

Essenty provides the Lifecycle API to help with lifecycle handling in the common code. It is very similar to Android Activity lifecycle.
multiplatform-paging - Pagination library for KMM by Cash App

A Kotlin Multiplatform library for pagination with the same API as AndroidX Paging
lazy-pagination-compose - Pagination library for Compose Multiplatform

Intuitive and customizable Compose Multiplatform pagination composables that are built on top of lazy scrollables.
kmp-viewmodel - Kotlin Multiplatform ViewModel

A Kotlin Multiplatform library that provides shared MVVM. Supports Android Parcelable, Kotlin Parcelize, AndroidX SavedStateHandle for restoring state after process death.
KStateMachine - Multiplatform state machine library with coroutines support

KStateMachine is a Kotlin DSL library for creating state machines and statecharts.
Rinku - Deep Link Handling for Kotlin Multiplatform

A Kotlin Multiplatform library for deeplink handling
Resaca - Scope ViewModels to a Composable, surviving config. changes and navigation

Scope ViewModels (or plain objects) to a Composable, surviving configuration changes and navigation, to break your app’s logic into smaller and reusable components.
Circuit - Compose-driven architecture for Kotlin and Android applications.

Compose-first Kotlin framework that simplifies building multiplatform applications by unifying UI and business logic through a declarative, unidirectional data flow architecture.
🔍 Analytics
CrashKiOS - Crash reporting for Kotlin/Native iOS applications

Thin library that provides symbolicated crash reports for Kotlin code on iOS.
NSExceptionKt - Better crash reports on Apple platforms

Unhandled Kotlin exceptions logging for Apple platforms.
trckr - KSP processor

KSP processer that simplifies the collection of analytics
🩺 Test
Kotest - test framework

Powerful, elegant and flexible test framework for Kotlin with additional assertions, property testing and data driven testing
TestBalloon

Fast, powerful and easy-to-use Kotlin test framework, built from the ground up for Kotlin Multiplatform and coroutines
Turbine - test library

A small testing library for kotlinx.coroutines Flow
MockingBird - test framework

A Koltin multiplatform library that provides an easier way to mock and write unit tests for a multiplatform project
Mockative - Mocking with KSP

Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP)
MocKMP - Mocking with KSP

A Kotlin/Multiplatform Kotlin Symbol Processor that generates Mocks & Fakes.
Mokkery - Mocking library

Mokkery is a mocking library for Kotlin Multiplatform, easy to use, boilerplate-free and compiler plugin driven. Highly inspired by MockK.
KLIP - Snapshot ((c|k)lip) manager for tests.

Kotlin Multiplatform snapshot ((c|k)lip) manager for tests. Automatically generates and asserts against a persistent Any::toString() representation of the object until you explicitly trigger an update. Powered by kotlin compiler plugin to inject relevant keys and paths.
Assertk - Fluent assertions library

Fluent assertions library for Kotlin with full Multiplatform support.
🔑 Crypto
Signum - Crypto/PKI/ASN.1 Library

Multiplatform crypto with ECDSA, RSA, ECDH, AES, HMAC, KDF (PBKDF2, HKDF, scrypt), hardware-backed crypto on Android/iOS, platform-native attestation, biometric authentication, X.509 certificates, CSRs, JOSE/COSE data structures, and a full ASN.1 parser/encoder with DSL.
Cryptography-Kotlin - Type-safe Multiplatform cryptography library for Kotlin

The library doesn’t implement any cryptography algorithm on its own, but wraps well-known future-proof solutions like OpenSSL 3.x, WebCrypto or JCA with type-safe multiplatform API providing uniform experience with aligned default behavior, and same expected results using identical parameters while allowing to use platform-specific capabilities.
Libsodium - Libsodium bindings for Kotlin Multiplatform

Libsodium bindings project uses libsodium c sources and libsodium.js to provide a kotlin multiplatform wrapper library for libsodium.
korlibs-crypto - Pure Kotlin cryptography library

SecureRandom, Hash (MD5/SHA1/SHA256), AES
cryptohash - A set of cryptographic (and not so cryptographic) hashing functions

xxHash, Blake, HMAC, Keccak, MD5, SHA, etc
murmurhash - library for hashing using MurmurHash

Kotlin Multiplatform (KMP) library for MurmurHash, a non-cryptographic hash function for general hash-based lookup focused on simplicity and performance.
Diglol Crypto - Diglol Crypto for Kotlin Multiplatform.

Lots of crypto algorithms for Kotlin Multiplatform.
KotlinCrypto/MACs - Message Authentication Code algorithms for Kotlin Multiplatform

Message Authentication Code algorithms for Kotlin Multiplatform: HmacMD5, HmacSHA1, HmacSHA224, HmacSHA256, HmacSHA384, HmacSHA512, HmacSHA512/224, HmacSHA512/256
KotlinCrypto/hash - Cryptographic hash functions for Kotlin Multiplatform

Cryptographic hash functions for Kotlin Multiplatform: MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
KotlinCrypto/secure-random - cryptographically secure random data from system sources

Kotlin Multiplatform library for obtaining cryptographically secure random data from the system. Modeled after Java’s SecureRandom class, it provides a simple API surface area. Under the hood it utilizes system functions so that SecureRandom is accessible from common code.
📁 File
kotlinx-io - Kotlin multiplatform I/O library

A multiplatform Kotlin library providing basic IO primitives. kotlinx-io is based on Okio but does not preserve backward compatibility with it.
Okio - access, store, and process your data

Okio is a library that complements java.io and java.nio to make it much easier to access, store, and process your data.
korlibs - access, store, and process your data

Libraries for Charsets, Encodings, Checksums, Compression, I/O, Streams, Virtual File System, Networking, Http, WebSockets, Serialization…
Suparnatural FS - file system i/o
[![Maven Central](https://img.shields.io/maven-central/v/com.sup
README 内容过长,已截取前 64 KB。完整内容请前往 GitHub 仓库查看。
评论