Android — cloud.newinstance:bugwatch

Install (Maven Central): implementation("cloud.newinstance:bugwatch:0.1.1") · minSdk 24 · Kotlin 2.x · Java 17.

BugWatch.initialize(application = this, options = BugWatchOptions(
    projectId  = "bwp_your_project_id",
    appSecret  = "your-mobile-app-secret",   // from Dashboard → project → Mobile credentials
    environment = "production",
    release     = BuildConfig.VERSION_NAME,
))

Auth model: the appSecret never leaves the device — the SDK signs a short-lived HMAC token per batch and sends x-bugwatch-token (5-minute expiry). See Browser & Mobile.

Capabilities: JVM uncaught-exception handler, NDK native crash handler (C/C++ signals, arm64-v8a/armeabi-v7a/x86_64/x86), ANR watchdog (5 s default), release-health sessions, lifecycle + OkHttp network breadcrumbs (okHttpInterceptor(), OkHttp is compileOnly), redaction, persistent offline NDJSON queue, network-aware retry.

Wire endpoint used: POST /api/v1/bugwatch/ingest/mobile (NDJSON).

Symbolication: upload the R8/ProGuard mapping per release in CI — npx @newinstance/bugwatch-cli artifacts upload build/outputs/mapping/release/mapping.txt --release "2.4.1" --platform android --type r8. Native .so symbols go through symbols upload.