Skip to content

Quick Start

Jordan Samhi edited this page Oct 23, 2026 · 1 revision

Produce an HTML coverage report and a dynamic call graph in one run.

Before you start

Complete Installation: build the JAR, configure signing, and define the androlog helper. Use the same terminal. Connect a test device or start an emulator.

Set the paths to your SDK and the original APK:

androlog_sdk="/absolute/path/to/Android/sdk"
androlog_apk="/absolute/path/to/app.apk"

Capture a run

androlog --capture \
  -a "$androlog_apk" \
  -p "$androlog_sdk/platforms" \
  -o ./captures -l ANDROLOG \
  -c -m -s -cp -mc

AndroLog instruments and signs the APK, installs it, starts recording, and launches the manifest-declared launcher activity. Interact with the app on the device. Press Enter in the terminal when finished. AndroLog then generates both reports and prints their paths.

-c -m -s -cp enable class, method, statement, and Android component coverage. -mc adds runtime call tracing. See Coverage for their meanings.

For an unattended run, append --duration 60. The app runs for 60 seconds after launch before report generation starts. This sets the capture duration; it does not generate user interactions.

Open the results

Each run creates a new directory:

captures/
└── capture-<UTC timestamp>-<unique suffix>/
    ├── instrumented/
    │   └── app.apk
    ├── runtime.log
    ├── coverage.html
    ├── coverage.json
    ├── instrumentation.log
    └── report-generation.log

Open the printed coverage.html path in your browser. The report works offline without a server. Keep runtime.log and the original APK if you want to regenerate it later.

In the report:

  1. Select a package and class to inspect its full listing.
  2. Click Activities, Methods, or another statistic to narrow the selection.
  3. Open Dynamic call graph to explore the launcher activity's recorded relationships.
  4. Click a graph node to highlight its incoming and outgoing edges; Reset graph restores the normal emphasis.

See the illustrated HTML Report guide.

If the run stops early

Use --device <serial> when several devices are connected. If installation reports a signing mismatch, use a clean test installation; capture does not uninstall the existing app. Ctrl+C aborts and preserves the raw log, but does not generate reports automatically.

For device selection, recovery, and output overrides, see Capture. For separate instrumentation and reporting, see Manual Workflow.

Clone this wiki locally