captureAppLogcat

Dumps this app's own logcat, filtered to our process id via --pid (API 24+, minSdk is 26). Without READ_LOGS the OS already limits us to our own entries, but --pid guarantees it even if that permission is ever granted (e.g. via adb on an emulator) so a shared bug report can't leak other apps' logs. Best-effort: a capture failure returns a marker rather than throwing. ProcessBuilder with a merged stderr avoids a pipe-buffer deadlock, and the bounded wait keeps a stuck capture from tying up the IO thread. ponytail: -t 5000 tail-caps the dump so the exported file stays sane.

The app's own logs: Android logcat (filtered to this process) on Android, an in-memory Kermit buffer on desktop. Empty on platforms with no log capture (currently iOS).

The app's own logs: Android logcat (filtered to this process) on Android, an in-memory Kermit buffer on desktop. Empty on platforms with no log capture (currently iOS).