Skip to main content

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
)
}
}
Note

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.

Note

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
Last updated on
On this page
Was this page helpful?