Skip to content
Kotlin · Android

The Everframe Android SDK.

Two Maven artifacts for phones, tablets, Android TV and Fire TV. Native screenshot, wireframe replay, logs, crash reports.

// build.gradle — everframeVersion=1.2.1 in gradle.properties
implementation "dev.everframe:core:$everframeVersion"
implementation "dev.everframe:reporter-ui:$everframeVersion"
API 24+Android, Android TV, Fire TV

A native Kotlin SDK in two artifacts, core and reporter-ui. Start it in Application.onCreate(), open the reporter from your own button, and every report carries a native screenshot, a wireframe replay, your logs, the trail of Activities and device. Network capture starts when you attach the OkHttp interceptor. On Android TV a linked device files a quick capture with one remote gesture.

Three steps

1Add both artifacts
val everframeVersion = "1.2.1"
implementation("dev.everframe:core:$everframeVersion")
implementation("dev.everframe:reporter-ui:$everframeVersion")
// core alone compiles, then throws when the reporter opens
2Start it in Application.onCreate()
Everframe.start(
  this,
  EverframeConfig(appId = "<App ID>", sdkKey = "evf_live_…")
)
3Open it from your own button
lifecycleScope.launch {
  val result = Everframe.report.open()
}

What it captures

Screenshot A native capture of the current window, Views or Compose, with the reporter's annotations no MediaProjection prompt
Session replay Wireframe timeline of what the app rendered — layout and real text, not pixels no permission, no video file
Logs Timber output and anything written to System.out / System.err capture.logs, on by default; plain android.util.Log is not captured
Network Requests with status and duration, through the OkHttp interceptor you attach bodies are a separate per-app gate, off by default
Screens Activity transitions recorded automatically; Compose and single-Activity navigation in one line TXScreen composable, Jetpack Navigation, Fragments
Focused component Not captured on Android today — the screenshot and the Activity trail carry the context
Crash reports Uncaught Java and Kotlin exceptions file a report on their own, sent on the next launch on by default
Native crashes and ANRs Native crashes, ANRs and low-memory kills on Android 11 and later, from the exit record the OS keeps on by default
Device and app Model, OS version, screen, locale, timezone, release

What you wire yourself

  • The trigger. The SDK installs no bubble; your own button calls report.open().
  • Network capture, if you want it: addEverframeInterceptor() on your OkHttpClient.
  • Sensitive views and composables. Mark them and they are masked before the screenshot leaves the device.
  • Screen names for Compose and single-Activity apps; classic Activities need nothing.

When to pick it

Native Android apps on phones, tablets, Android TV and Fire TV, Views or Compose. Two Maven dependencies, one start call in Application.onCreate(), your own button to open it. React Native apps take the React Native SDK, which wraps this one.

What is native about it

The screenshot is a native render of the window, so there is no MediaProjection prompt and nothing off-screen is captured. Replay is a wireframe timeline of the view tree, deliberately not pixels. Activity transitions are recorded on their own; a modern single-Activity app is one screen to the SDK until you mark the rest, which screen tracking covers in a line per screen.

On a television

The same artifacts run on Android TV and Fire TV, but nothing is typed on the screen and there is no on-device reporter. Crashes and errors are reported on their own. On Android TV, link a test TV and a remote gesture files a quick capture. The Android TV and Fire TV pages have the details.

Before you add it

SDK for mobile apps: what one is and what it costs you covers what any SDK adds to a binary in size and setup. For the platform’s own diagnostic dump and where it stops, read Android bug report: what it is, where it’s saved and how to read it.

For crashes specifically — logcat’s crash buffer, ANR traces, native tombstones and retracing an R8 build — see Android crash logs: where to find them and how to read them.

Questions

Does it support Jetpack Compose and classic Views?

Yes. Screenshot, replay and masking work on both. Activity transitions are recorded automatically; Compose screens are marked with the TXScreen composable, and Jetpack Navigation and Fragments have their own hooks.

Why two artifacts?

core is capture, signing and delivery; reporter-ui is the reporter screen. Both are required — core alone compiles and then throws IllegalStateException the moment the reporter opens.

Does the same SDK cover Android TV and Fire TV?

Yes. Fire OS is based on Android, so Fire TV apps use the same artifacts. On a TV there is no on-device reporter: crashes and errors are reported on their own, and on Android TV a linked device files a quick capture with one remote gesture.