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.25.0"
}
The SDK pulls in androidx.work transitively — you do not need to declare it yourself.
Apps using on-demand WorkManager initialization: the backstop job described under Automatic flush on backgrounding needs WorkManager to be initialized when the app goes to the background. With on-demand initialization, where your Application implements Configuration.Provider, WorkManager initializes on first use and the backstop runs as usual. If you remove WorkManager's default initializer without implementing Configuration.Provider, call WorkManager.initialize in Application.onCreate, or the backstop is skipped. The immediate flush does not depend on WorkManager. When you remove WorkManager's initializer, remove only its androidx.work.WorkManagerInitializer entry, not the whole androidx.startup.InitializationProvider. The SDK relies on that provider for background flushing and cold start reporting.
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