
Sentry Kotlin Multiplatform SDK
https://github.com/getsentry/sentry-kotlin-multiplatform- Category
- Developer Tools
- Rank
- No. 404Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- getsentry
- GitHub
- 208 stars
- Latest release
- 0.27.0
- Date
About
Capture crashes and performance data from Kotlin Multiplatform apps targeting Android, iOS, and JVM with one SDK.
What it does
It presents a shared Kotlin API over Sentry’s Android, JVM, and Apple SDKs. Kotlin’s expect and actual pattern routes common monitoring code to native implementations, while still allowing platform-specific scope configuration, breadcrumbs, contexts, and attachments.
Why it's ranked here
This is a credible choice for teams sharing Kotlin across mobile and desktop targets. Its native wrappers, sample applications, published packages, API compatibility checks, linting, formatting, and test-oriented build provide concrete integration and maintenance signals. Platform coverage is uneven, however, because several declared targets are compile-only stubs.
What's good
The shared API reduces duplicated monitoring setup without blocking native customization. Apple support spans device and simulator targets across four operating systems. Samples cover CocoaPods, Swift Package Manager, SwiftUI, and Compose Desktop. The build checks formatting, static analysis, tests, coverage, and binary API compatibility.
Tradeoffs
JavaScript, WebAssembly JavaScript, Linux, and Windows targets compile but perform no monitoring at runtime. Apple builds depend on specific Sentry Cocoa SDK pairings, so upgrades require compatibility checks. The full build also needs Apple tooling and CocoaPods for sample validation, which complicates non-macOS development environments.
How to use it well
Use it when a Kotlin Multiplatform codebase needs one monitoring API across Android, JVM, and Apple applications, with occasional native scope enrichment. Keep Cocoa dependency versions aligned and exercise the supplied platform samples during upgrades. Do not choose it for runtime monitoring on JavaScript, WebAssembly, Linux, or Windows.
Technical notes+
AGENTS.MD describes sentry-kotlin-multiplatform/src/commonMain as the shared API and expect-declaration layer, with actual implementations under androidMain, jvmMain, appleMain, iosMain, and commonTvWatchMacOsMain. buildSrc/src/main/java/Config.kt pins the Kotlin, Android, Java Sentry, and Cocoa Sentry dependencies plus deployment targets. buildSrc/src/main/java/Publication.kt creates per-target distributions, renames the main JAR and Android AAR for release tooling, and includes stub target artifacts. The Makefile composes apiCheck, detekt, Gradle build, Apple sample builds, and Kover XML coverage. Swift examples under sentry-samples/kmp-app-spm/iosApp/iOSApp.swift and sentry-samples/kmp-app-cocoapods/iosApp/iosApp/iOSApp.swift initialize shared monitoring and then add native scope data.
Observed
- License
- MIT License
- Primary language
- Kotlin, with Swift sample applications and Java build support code
- Packaging
- Core SDK and optional Gradle plugin are published through Maven Central
- Interface
- Kotlin Multiplatform library plus an optional Gradle plugin
- Runtime platforms
- Android, Kotlin/JVM, iOS, macOS, watchOS, and tvOS
- Compile-only targets
- JavaScript, WebAssembly JavaScript, Linux, and Windows use no-op implementations
- Architecture
- Shared expect declarations map to platform-specific actual implementations
- Quality gates
- Gradle build, Detekt, Spotless, binary API checks, sample builds, and Kover coverage
Read from README.md, Makefile, .mvn/wrapper/MavenWrapperDownloader.java, sentry-samples/kmp-app-spm/iosApp/iOSApp.swift, sentry-samples/kmp-app-spm/iosApp/ContentView.swift, buildSrc/src/main/java/Config.kt, buildSrc/src/main/java/Publication.kt, sentry-samples/kmp-app-cocoapods/iosApp/iosApp/iOSApp.swift, sentry-samples/kmp-app-cocoapods/iosApp/iosApp/ContentView.swift, sentry-samples/kmp-app-spm/desktopApp/src/jvmMain/kotlin/sample.kmp.app.desktop/Main.kt, sentry-samples/kmp-app-cocoapods/desktopApp/src/jvmMain/kotlin/sample.kmp.app.desktop/Main.kt, LICENSE, gradlew, AGENTS.MD.
What it can do
Capture application crashes
Runtime exceptions and errors from Kotlin Multiplatform apps → Crash reports with stack traces and error details
Monitor application performance
Performance metrics from running Kotlin Multiplatform apps → Performance data and analytics
Track errors across Android platform
Errors from Android app instances → Android-specific error reports
Track errors across iOS platform
Errors from iOS app instances → iOS-specific error reports
Track errors across JVM platform
Errors from JVM app instances → JVM-specific error reports
Provide unified error tracking
Error data from multiple platforms (Android, iOS, JVM) → Consolidated cross-platform error reports
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.