Coryn AI Android SDK
The Coryn AI Android SDK lets you integrate session replay and state tracking into any existing Android application with minimal setup. Once initialised, the SDK records user sessions — including UI captures, touch interactions, navigation screens, custom application states, and runtime diagnostics — and streams them to the Coryn AI Dashboard for playback and analysis.
What the SDK captures
| Feature | Description |
|---|---|
| UI Captures | Visual snapshots of your app's screens during a session |
| Screens | Screen-level navigation events (Activities, Fragments, Composables) |
| States | Custom data snapshots attached to the current session timeline |
| Events | One-time captures for user actions or business metrics |
| Touches | User interaction coordinates recorded alongside the session |
| Screen text | Text from eligible Views and Compose semantics, with hiding and incremental updates; see Screen Text |
| Runtime context | Display config, CPU/heap/RAM, network, keyboard inset, jank, freezes, and more — captured automatically |
| Errors | Crashes, native crashes, and ANRs (native crashes and ANRs on Android 11+) |
SDK modules
The SDK is split into focused modules so you only include what you need:
| Artifact | Purpose |
|---|---|
core | Core API and infrastructure without a session recorder. Use where recording is not needed. |
recorder | Session recorder for XML View-based apps. Includes core. |
recorder-compose | Session recorder with Jetpack Compose support. Includes recorder and core. |
state-serialization:gson | Optional. CorynStateMap backed by Gson. |
state-serialization:moshi | Optional. CorynStateMap backed by Moshi. |
log-viewer | Optional. Adds the in-app Log Viewer to any build variant. |
Minimum requirements
| Requirement | Supported |
|---|---|
minSdk | 23+ |
compileSdk | 35+ |
| Android Gradle Plugin | 8.6+ (required by the resolved AndroidX dependencies) |
| Kotlin | 2.1+ |
| Compose | minimum 1.8.0 (BOM 2025.04.01); recommended 1.9.3 (BOM 2025.10.00) or newer |
| Java/JVM target | 8 |
Minimum required Compose is 1.8.0 (BOM 2025.04.01). We recommend Compose 1.9.3 (BOM 2025.10.00) or newer. Use the recommended version or newer when masking content in large moving layouts; coordinate tracking is important for privacy masking.
SDK overhead
Overhead depends on device, UI complexity, capture size, build optimisation, and the State Providers you install. The following reference measurements are indicative, not limits or a benchmark of every SDK release.
Application size
| Component | Approximate size added |
|---|---|
| Session Recording | 600–700 KB |
| Log Viewer | 800–900 KB |
Keep the Log Viewer in development builds only. Final size depends on your existing dependencies and the app's R8 configuration.
CPU usage
| Device | Reference overhead |
|---|---|
| Google Pixel 7 | 1–3% |
| Samsung Galaxy A50 | 2–4% |
| Xiaomi Redmi Note 4 | 6–8% |
CPU usage depends on UI complexity, custom State serialisation and enabled diagnostics; these figures are not a fixed CPU limit. Recording pauses after the app has remained without a visible window — see Recording Lifecycle.
Memory usage
Reference heap overhead under garbage collector pressure is approximately 4–8 MB, depending on capture workload and Android version. Temporary allocations and native bitmap memory can make actual usage higher.
Coryn can skip UI captures when memory is low, but it does not guarantee a fixed memory footprint.
Potential memory leak diagnostics can trigger garbage collection. Keep custom getState() callbacks fast and return stable snapshots.
Screen Text and optional API request body previews add processing work. Profile representative screens and network clients before enabling body capture in production.
Capture limitations
SurfaceView content, including video, requires API 29+ for capture. WebView rendering can differ from what is on screen on API 23–28, and Android may block protected content on any version. See SurfaceView Capture.
Apply Privacy Masking before displaying sensitive content. Drawing outside layout bounds, including custom graphics-layer changes, requires app-supplied hiding padding.
Next steps
Follow Get Started to install, initialise, and configure recording.