Android crash reporting without the Firebase lock-in
One Gradle dependency captures crashes, errors, ANRs, and performance from your Kotlin app — with zero-code manifest setup, OkHttp tracing, and a Timber module, on the same platform as your backend errors and logs.
Why Android apps need real crash reporting
Android failure modes hide well. A crash on one manufacturer's Android skin never reproduces on your test devices; an ANR freezes the main thread until the system offers "Close app" — and the user takes the offer, uninstalls, and leaves a review about the app "not working". The Play Console shows you aggregates days later; it doesn't show you the stack trace, the release, or the request that caused it.
AllStak's Android SDK closes that gap with one Gradle dependency. Crashes are captured automatically via the uncaught-exception handler, ANRs and performance are tracked, handled exceptions report with metadata via captureException, the optional OkHttp module traces network calls with W3C trace headers, and the Timber module plugs into the logging you already write. You can even initialize with zero code through manifest meta-data. Everything lands on the same platform as your backend errors, logs, traces, and uptime — one dashboard, in English or Arabic.
Full Android monitoring
From a crash on a device you've never seen to the ANR nobody reports and the API call behind it, AllStak covers your Android app across every layer.
Automatic crash reporting
Crashes are captured automatically through the uncaught-exception handler (enableUncaughtExceptionHandler) — no wrapping, no per-activity code.
ANR capture
ANRs — the freezes that end with the system's "Close app" dialog and no crash report — are captured alongside your crashes, so they finally show up somewhere.
Zero-code setup
Initialize explicitly with AllStak.init in your Application class, or skip the code entirely: manifest meta-data with androidx.startup auto-init does it for you.
Handled exceptions with metadata
Report handled errors via captureException with a metadata map — like the order ID in flight — and leave leveled messages via captureMessage.
OkHttp tracing
The optional OkHttp module instruments your client with installAllStak() and injects trace headers (traceparent, x-allstak-trace-id) — connecting app requests to backend traces.
Timber integration
The optional Timber module plugs into the logging you already write — so the log lines around a crash travel with it instead of staying on the device.
Add AllStak in minutes
Add the Gradle dependency (with optional OkHttp and Timber modules) and initialize in your Application class — or use zero-code manifest meta-data instead.
dependencies {
implementation("sa.allstak:allstak-android:0.2.0")
// optional:
implementation("sa.allstak:allstak-android-okhttp:0.2.0")
implementation("sa.allstak:allstak-android-timber:0.2.0")
}
AllStak.init(this) {
apiKey = "ask_live_xxx"
environment = "production"
release = "1.4.0+42"
}Prefer zero code? Add sa.allstak.android.API_KEY meta-data to AndroidManifest.xml and androidx.startup initializes the SDK for you. release auto-detects from versionName+versionCode if omitted. full setup guide · SDK reference.
What you see in AllStak
Crash detail with full context
Open any crash to the stack trace, the metadata you attached, the environment, and the release it shipped in — reproduction without the guesswork.
ANRs next to crashes
The main-thread freezes that never generate a crash report show up as first-class events — so "the app stopped responding" becomes a ticket you can act on.
Network calls with trace headers
OkHttp requests instrumented with installAllStak() carry traceparent and x-allstak-trace-id headers — so a slow screen on the phone connects to the backend trace behind it.
Unified real-time dashboard
Android crashes next to the backend errors, logs, and uptime of the APIs behind them — one dashboard, in English or Arabic, for the whole team.
Why teams pick AllStak for Android
- Mobile and backend on one platform — crashes, errors, logs, traces, and uptime with one bill.
- One Gradle dependency — crashes captured automatically, with zero-code manifest setup if you prefer.
- Not tied to Firebase — crash reporting without adopting a whole second vendor ecosystem.
- ANRs captured alongside crashes — the failures the Play Console only shows you in aggregate.
- Predictable SAR pricing with a genuine free tier — start without a credit card.
- Data stays in Saudi Arabia, with an English and Arabic dashboard for the whole team.
Android crash reporting FAQ
How do I add crash reporting to an Android app?
Add the sa.allstak:allstak-android Gradle dependency and initialize with AllStak.init in your Application class — or add manifest meta-data and androidx.startup initializes it with zero code. Crashes are captured automatically from there; the setup guide covers handled errors, OkHttp, and Timber.
Does AllStak capture ANRs?
Yes. The Android SDK captures crashes, errors, ANRs, and performance — so the main-thread freezes that end with the system's "Close app" dialog reach your dashboard even though no crash report is ever written.
Is AllStak an alternative to Firebase Crashlytics for Android?
Yes. You get crash reporting and Kotlin error tracking without tying your app to Firebase — and unlike Crashlytics, the same platform also monitors your backend errors, logs, traces, and uptime. Add a bilingual English/Arabic dashboard, SAR pricing, and data stored in Saudi Arabia, and the whole stack lives in one place.
Can I set it up without writing any code?
Yes. Add sa.allstak.android.API_KEY and sa.allstak.android.ENVIRONMENT meta-data entries to AndroidManifest.xml and androidx.startup auto-initializes the SDK — and release auto-detects from versionName+versionCode if you don't set it.
Is AllStak free for Android?
Yes. AllStak has a free tier you can start on without a credit card, and predictable SAR pricing as you grow. The Android SDK itself is free to use.
Explore more
Start tracking Android crashes today
Add the dependency, ship the build, and watch crashes, ANRs, and network calls arrive in one dashboard. Start free — no credit card required.