1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 04:38:53 +03:00
This commit is contained in:
Anton Afanasyeu
2026-05-21 11:21:56 +02:00
parent ee4947a348
commit e2d51fbb27
11 changed files with 591 additions and 38 deletions

View File

@@ -2,7 +2,8 @@
## Android
- **Main process:** `CrashReporter.install()`Java uncaught exceptions → JSON under `files/crash_reports/pending/`, session stats flushed with `globals.reason: "crash"`.
- **Main process:** `CrashReporter.install()`any uncaught Java exception (cast or idle UI) → `files/crash_reports/pending/crash_yyyyMMdd_HHmmss.json` (same stamp as `session_*.json`). Active cast session stats are flushed with `globals.reason: "crash"` when applicable.
- **Runtime context:** every report includes `runtime_context` (foreground activity, `CastActiveState`, last `session_*.json` name) and `scenario` (`cast_session` vs `app_runtime`).
- **Watcher process:** `CrashWatcherService` in `:crashwatcher` — reads `settings.json``crash`, uploads pending reports, ingests native stub files.
- **Native:** `crash_hook.c` (unwind + `dladdr`) writes stubs to `crash_reports/native/`; watcher converts to schema v1 JSON.
- **User toggle:** Settings drawer → **Send anonymous crash logs** (`AppPreferences.send_anonymous_crash_logs`, default on).
@@ -24,3 +25,12 @@ Deploy tuning via app-private `files/settings.json` (see `examples/settings.json
PHP console and ingest API: `examples/crash_reporter/backend/` — see [README](../examples/crash_reporter/backend/README.md).
Roadmap: `examples/crash_reporter/ROADMAP.md`.
## Report files
| Pattern | Example |
|---------|---------|
| Pending crash JSON | `crash_20260520_153045.json` |
| Session stats (compare) | `session_send_20260520_120000.json` |
JSON fields: `schema_version`, `report_id`, `report_file`, `generated_at_epoch_ms`, `scenario`, `runtime_context`, optional `session_context`, `java` / `native`, `device`, `app`, `build`, `fingerprint`.