explaingit

yuchuangu85/llm-anr

Analysis updated 2026-05-18

23PythonAudience · developerComplexity · 3/5Setup · moderate

TLDR

A Python tool that gathers Android ANR crash evidence and uses AI to suggest root causes, while always flagging results for human review.

Mindmap

mindmap
  root((llm-anr))
    What It Does
      Extracts ANR evidence
      Four phase analysis
      AI assisted root cause
    Tech Stack
      Python
    Use Cases
      Android crash debugging
      AI coding agent integration
      Structured evidence reports
    Audience
      Android developers
      QA engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Extract and organize ANR evidence from an Android bugreport or log archive.

USE CASE 2

Get an AI generated first pass analysis of what likely caused an app freeze.

USE CASE 3

Run a four phase structured investigation across trace, event log, and logcat data.

USE CASE 4

Use inside an AI coding assistant like Claude Code to analyze ANR logs interactively.

What is it built with?

Python

How does it compare?

yuchuangu85/llm-anraaravkashyap12/advise-project-approachabu-rayhan-alif/django-saas-kit
Stars232323
LanguagePythonPythonPython
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a bugreport, log directory, or archive as input, plus an AI coding agent for the interactive workflow.

In plain English

llm-anr is a Python tool that helps Android developers diagnose ANR errors, the popup that appears when an Android app freezes and the operating system decides it is no longer responding. Figuring out what caused an ANR usually means digging through large technical log files: thread traces, system event logs, memory snapshots, and kernel logs. This tool automates that evidence gathering step and then uses an AI model to suggest likely root causes. The workflow starts by pointing the tool at a bugreport, which is a diagnostic archive Android can export, a log directory, or a ZIP archive. The tool finds all relevant ANR evidence inside it, groups entries by individual ANR event so they do not mix together, then filters and parses each log type, including thread states, lock waits, input dispatch timeouts, and memory pressure signals. It packages the filtered evidence into a structured markdown file and works through a four phase analysis: examining the thread trace, the event log, the logcat, which is Android's general system log, and finally producing a combined conclusion. That last phase lists a timeline, the direct blocking point, candidate root cause chains, a confidence assessment, and remediation suggestions. The tool is deliberately cautious. It always marks results as requiring human confirmation and never claims a final verdict on its own. You can run each phase separately from the command line, use it interactively through an AI coding assistant such as Claude Code, or drive it directly through the Python API. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Analyze the ANR cause for package com.example.app in this log directory using llm-anr.
Prompt 2
Run the trace analysis phase of llm-anr on this fixture file and explain what it found.
Prompt 3
Walk me through llm-anr's four phase ANR analysis workflow and what each phase checks.
Prompt 4
Use llm-anr's Python API to build an AI context from this bugreport archive.

Frequently asked questions

What is llm-anr?

A Python tool that gathers Android ANR crash evidence and uses AI to suggest root causes, while always flagging results for human review.

What language is llm-anr written in?

Mainly Python. The stack also includes Python.

How hard is llm-anr to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is llm-anr for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.