Coralogix Android RUM SDK
The Coralogix Android SDK provides Real User Monitoring (RUM) capabilities for Android apps. It captures logs, errors, network requests, custom metrics, and mobile performance data, and sends them to Coralogix for advanced observability and analytics.
Quickstart
Add the dependency and initialize the SDK in your Application class.
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
val options = CoralogixOptions(
applicationName = "<YOUR_APP_NAME>",
coralogixDomain = CoralogixDomain.EU1,
publicKey = "<YOUR_PUBLIC_KEY>"
)
CoralogixRum.initialize(
application = this,
options = options
)
}
}
See the Initialization section for the available regional domains and a detailed documentation of the available sdk options.
Installation
Add the dependency to your app’s Gradle build file:
dependencies {
implementation "com.coralogix:android-sdk:2.26.0"
}
The SDK pulls in androidx.work transitively — you do not need to declare it yourself.
If you initialize WorkManager on demand: the SDK runs two WorkManager jobs, the backstop job described under Automatic flush on backgrounding and the job that sends saved crashes, described under Automatic Crash Tracking. If your Application implements Configuration.Provider for on-demand initialization, WorkManager starts on first use and the SDK runs both jobs as usual. If you remove WorkManager's default initializer without implementing Configuration.Provider, call WorkManager.initialize in Application.onCreate; otherwise the SDK skips both jobs. The SDK still flushes immediately without WorkManager, and still sends saved crashes the next time your app starts. To remove WorkManager's initializer, remove only its androidx.work.WorkManagerInitializer entry, not the whole androidx.startup.InitializationProvider: the SDK uses that provider to flush in the background and to report cold starts.
Troubleshooting
Core library desugaring on API 24 and 25
The SDK declares minSdk = 24 and depends on the OpenTelemetry Java SDK, which uses
java.time APIs available natively only from API 26. On API 24 and 25 those need core
library desugaring, so enable it if your app supports either level:
android {
compileOptions {
isCoreLibraryDesugaringEnabled = true
}
}
dependencies {
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
}
The same switch helps any other dependency that needs Java 8+ APIs, within the subset
desugar_jdk_libs backports - it is not blanket coverage, so a dependency using an API
outside that subset can still fail on API 24 and 25.
License
Copyright (c) 2025 Coralogix
Licensed under the Apache License, Version 2.0