getsentry/sentry-for-aiApache-2.09 files

Sentry Android SDK

Full Sentry SDK setup for Android. Use when asked to "add Sentry to Android", "install sentry-android", "setup Sentry in Android", or configure error monitoring, tracing, profiling, session replay, or logging for Android applications. Supports Kotlin and Java codebases.

Specification
Skill ID
getsentry/sentry-for-ai/sentry-android-sdk
Publisher
getsentry
Repository
sentry-for-ai
Installs
0
Files
9
License
Apache-2.0
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

getsentry/sentry-for-ai/sentry-android-sdkInstalls these files
  • SKILL.md
  • references/crons.md
  • references/error-monitoring.md
  • references/integrations.md
  • references/logging.md
  • references/metrics.md
  • references/profiling.md
  • references/session-replay.md
  • references/tracing.md

What this skill tells the agent

All Skills > SDK Setup > Android SDK

Sentry Android SDK

Opinionated wizard that scans your Android project and guides you through complete Sentry setup — error monitoring, tracing, profiling, session replay, logging, and more.

Invoke This Skill When

  • User asks to "add Sentry to Android" or "set up Sentry" in an Android app
  • User wants error monitoring, crash reporting, ANR detection, tracing, profiling, session replay, or logging in Android
  • User mentions sentry-android, io.sentry:sentry-android, mobile crash tracking, or Sentry for Kotlin/Java Android
  • User wants to monitor native (NDK) crashes, application not responding (ANR) events, or app startup performance
Note: SDK versions and APIs below reflect current Sentry docs at time of writing (io.sentry:sentry-android:8.33.0, Gradle plugin 6.1.0). Always verify against docs.sentry.io/platforms/android/ before implementing.

Phase 1: Detect

Run these commands to understand the project before making any recommendations:

# Detect project structure and build system
ls build.gradle build.gradle.kts settings.gradle settings.gradle.kts 2>/dev/null

# Check AGP version and existing Sentry
grep -r '"com.android.application"' build.gradle* app/build.gradle* 2>/dev/null | head -3
grep -ri sentry build.gradle* app/build.gradle* 2>/dev/null | head -10

# Check app-level build file (Groovy vs KTS)
ls app/build.gradle app/build.gradle.kts 2>/dev/null

# Detect Gradle version catalog (libs.versions.toml) — modern AGP projects
ls gradle/libs.versions.toml 2>/dev/null

# Check for existing Sentry entries in the version catalog
grep -iE 'sentry|io\.sentry' gradle/libs.versions.toml 2>/dev/null | head -10

# Check if build files reference the catalog (alias/libs.* usage)
grep -E 'alias\(libs\.|libs\.[a-zA-Z]' build.gradle build.gradle.kts app/build.gradle app/build.gradle.kts 2>/dev/null | head -5

# Detect Kotlin vs Java
find app/src/main -name "*.kt" 2>/dev/null | head -3
find app/src/main -name "*.java" 2>/dev/null | head -3

# Check minSdk, targetSdk
grep -E 'minSdk|targetSdk|compileSdk|minSdkVersion|targetSdkVersion' app/build.gradle app/build.gradle.kts 2>/dev/null | head -6

# Detect Jetpack Compose
grep -E 'compose|androidx.compose' app/build.gradle app/build.gradle.kts 2>/dev/null | head -5

# Detect OkHttp (popular HTTP client — has dedicated integration)
grep -E 'okhttp|retrofit' app/build.gradle app/build.gradle.kts 2>/dev/null | head -3

# Detect Room or SQLite
grep -E 'androidx.room|androidx.sqlite' app/build.gradle app/build.gradle.kts 2>/dev/null | head -3

# Detect Timber (logging library)
grep -E 'timber' app/build.gradle app/build.gradle.kts 2>/dev/null | head -3

# Detect Jetpack Navigation
grep -E 'androidx.navigation' app/build.gradle app/build.gradle.kts 2>/dev/null | head -3

# Detect Apollo (GraphQL)
grep -E 'apollo' app/build.gradle app/build.gradle.kts 2>/dev/null | head -3

# Check existing Sentry initialization
grep -r "SentryAndroid.init\|io.sentry.Sentry" app/src/ 2>/dev/null | head -5

# Check Application class
find app/src/main -name "*.kt" -o -name "*.java" 2>/dev/null | xargs grep -l "Application()" 2>/dev/null | head -3

# Adjacent backend (for cross-linking)
ls ../backend ../server ../api 2>/dev/null
find .. -maxdepth 2 \( -name "go.mod" -o -name "requirements.txt" -o -name "Gemfile" \) 2>/dev/null | grep -v node_modules | head -5

What to determine:

QuestionImpact
build.gradle.kts present?Use Kotlin DSL syntax in all examples
gradle/libs.versions.toml present?Add Sentry to the version catalog; reference via libs.* in build files
Catalog already has sentry entries?Reuse the existing version ref; don't duplicate or hardcode versions
minSdk < 26?Note Session Replay requires API 26+ — silent no-op below that
Compose detected?Recommend sentry-compose-android and Compose-specific masking
OkHttp present?Recommend sentry-okhttp interceptor or Gradle plugin bytecode auto-instrumentation
Room/SQLite present?Recommend sentry-android-sqlite or plugin bytecode instrumentation
Timber present?Recommend sentry-android-timber integration
Jetpack Navigation?Recommend sentry-android-navigation for screen tracking
Already has SentryAndroid.init()?Skip install, jump to feature config
Application subclass exists?That's where SentryAndroid.init() goes

Phase 2: Recommend

Present a concrete recommendation based on what you found. Don't ask open-ended questions — lead with a proposal:

Recommended (core coverage — always set up these):

  • ✅ Error Monitoring — captures uncaught exceptions, ANRs, and native NDK crashes automatically
  • ✅ Tracing — auto-instruments Activity lifecycle, app start, HTTP requests, and database queries
  • ✅ Session Replay — records screen captures and user interactions for debugging (API 26+)

Optional (enhanced observability):

  • ⚡ Profiling — continuous UI profiling (recommended) or transaction-based sampling
  • ⚡ Logging — structured logs via Sentry.logger(), with optional Timber bridge
  • ⚡ User Feedback — collect user-submitted bug reports from inside the app

Recommendation logic:

FeatureRecommend when...
Error MonitoringAlways — non-negotiable baseline for any Android app
TracingAlways for Android — app start time, Activity lifecycle, network latency matter
Session ReplayUser-facing production app on API 26+; visual debugging of user issues
ProfilingPerformance-sensitive apps, startup time investigations, production perf analysis
LoggingApp uses structured logging or you want log-to-trace correlation in Sentry
User FeedbackBeta or customer-facing app where you want user-submitted bug reports

Propose: "For your [Kotlin / Java] Android app (minSdk X), I recommend setting up Error Monitoring + Tracing + Session Replay. Want me to also add Profiling and Logging?"


Phase 3: Guide

Determine Your Setup Path

Project typeRecommended setupComplexity
New project, no existing SentryGradle plugin (recommended)Low — plugin handles most config
Existing project, no SentryGradle plugin or manual initMedium — add dependency + Application class
Manual full controlSentryAndroid.init() in ApplicationMedium — explicit config, most flexible

Option 1: Wizard (Recommended)

You need to run this yourself — the wizard opens a browser for login and requires interactive input that the agent can't handle. Copy-paste into your terminal: `` npx @sentry/wizard@latest -i android `` It handles login, org/project selection, Gradle plugin setup, dependency installation, DSN configuration, and ProGuard/R8 mapping upload. Once it finishes, come back and skip to [Verification](#verification).

If the user skips the wizard, proceed with Option 2 (Manual Setup) below.


Option 2: Manual Setup

Using a Gradle Version Catalog (gradle/libs.versions.toml)

If Phase 1 detected gradle/libs.versions.toml, add Sentry to the catalog first, then reference it from your build files. This keeps versions centralized and matches modern AGP project conventions.

Step 1 — Add entries to `gradle/libs.versions.toml`

[versions]
sentry = "8.33.0"
sentryGradlePlugin = "6.1.0"

[libraries]
sentry-android = { module = "io.sentry:sentry-android", version.ref = "sentry" }
sentry-bom = { module = "io.sentry:sentry-bom", version.ref = "sentry" }
# Optional integrations — add only the ones your project uses:
sentry-android-timber = { module = "io.sentry:sentry-android-timber" }
sentry-android-fragment = { module = "io.sentry:sentry-android-fragment" }

Use this skill in a project

Open any RiverX project, search the Skills panel for getsentry/sentry-for-ai/sentry-android-sdk, and install it in one click.

Use this skill