android-debugging

Diagnose Android and KMP issues using Logcat, ADB, ANR traces, and R8 retrace.

Updated Jul 1, 2026
One-click install
npx skills add https://github.com/w0lzard/Wolzard-s-Marketplace --skill android-debugging-w0lzard
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-debugging
Source: https://github.com/w0lzard/Wolzard-s-Marketplace/tree/main/plugins/personal-skills/skills/android-debugging
Command: npx skills add https://github.com/w0lzard/Wolzard-s-Marketplace --skill android-debugging-w0lzard

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Debugging Android and Kotlin Multiplatform apps requires platform-specific evidence gathering that generic debugging workflows don't cover — obfuscated release stack traces, ANR traces, memory leaks, Gradle build failures, and Compose recomposition bugs each need dedicated tooling and interpretation. ## Core Features & Use Cases - Crash and ANR investigation: Stream filtered Logcat output, pull ANR traces from the device, and read full Caused by: chains to find root causes. - Release build decoding: Retrace obfuscated R8/ProGuard stack traces with mapping files and inspect keep-rule effects via usage and seeds reports. - Performance and memory analysis: Capture Perfetto traces for SQL-based bottleneck queries, dump heaps for leak analysis, and inspect Compose recomposition with Layout Inspector or android layout --diff. - Use Case: A release build crashes only in production with an obfuscated stack trace — use the retrace workflow with the archived mapping file to decode it, then instrument the implicated layer with a unique per-session log tag to confirm the root cause. ## Quick Start Use the android-debugging skill to investigate why my app crashes on launch by pulling the Logcat output for my package and reading the full stack trace.

Frequently Asked Questions about android-debugging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I debug an Android app crash using Logcat?

Filter Logcat by your app's process ID with adb logcat --pid=$(adb shell pidof -s com.example.app), then read the full stack trace. The root cause is usually at the bottom of the Caused by chain, not the top-level exception.

How to decode obfuscated R8 or ProGuard stack traces?

Run ./gradlew :app:retrace --stacktrace-file crash.txt or use the retrace CLI with the mapping file from app/build/outputs/mapping/<variant>/mapping.txt. Always archive mapping files alongside release builds.

What causes an ANR on Android and how do I investigate it?

ANRs mean the main thread was blocked, commonly by database or network calls, runBlocking, or deadlocks. Pull /data/anr/traces.txt and look for the main thread in MONITOR state, then trace backward to find what holds the lock.

Does this skill work with Kotlin Multiplatform projects?

Yes, it explicitly covers KMP issues alongside Android, supplementing generic systematic-debugging workflows with Android-specific techniques like Logcat filtering, ADB commands, and Gradle dependency resolution.

Why does my Compose UI recompose excessively?

Common causes are State objects created inside composition without remember, unstable captured references like mutable collections, or missing equals on state data classes. Since Compose compiler 2.0, strong skipping mode memoizes lambdas automatically, so check reference stability first.

When should I use Perfetto instead of Logcat for performance issues?

Use Perfetto when investigating bottlenecks across CPU, graphics, I/O, IPC, memory, or power that logs cannot show. Capture a baseline trace before changing anything, then query it with SQL at ui.perfetto.dev to find slices exceeding frame budgets.