Stability

Silly Monkey

An Android app that configures and runs Monkey random-event tests on-device, captures crash and ANR logs through ADB, and produces local test reports.

An Android app intended for Monkey stability testing of apps installed on the same Android device. Version v1.4.7 APK Sign in Required 5.9 MB

Tool Introduction

Silly Monkey is focused on single-device, single-app Android Monkey stability testing. Testers can choose an installed app on the device, set the mix of touch, motion, trackball, app-switch, system-key, and other events, configure a fixed delay and random seed, and run by event count or by duration. In wireless mode, the app sends `monkey` and `logcat` commands through a local ADB socket and generates crash/ANR logs plus a session summary when the run finishes. In the current codebase, reporting is centered on AndroidRuntime crashes, ActivityManager ANRs, and parameterized session records rather than broader performance analysis, packet capture, or multi-device orchestration.

Key Features

Parameterized launches for installed apps

It enumerates installed apps on the current device and, after a single target package is selected, lets the tester configure event ratios, random seed, fixed delay, and count-based or duration-based execution.

Wireless ADB session guardrails

Wireless mode uses a localhost:5555 ADB socket, executes Monkey in batches, keeps checking the foreground window, and tries to navigate back to or relaunch the target app when needed.

On-device exception report handling

After a test run, it parses crash and ANR signals from logcat, builds a detail view, and supports sharing or exporting exception text.

Testing Scenes

  • Run configurable Monkey stability smoke tests against a single installed Android app.
  • Execute random-event regression runs over wireless ADB by total event count or total duration while trying to bring testing back to the target app.
  • Collect AndroidRuntime crash and ActivityManager ANR evidence on-device and review recent session summaries and details.
  • Export or share exception details as text for developer handoff or reproduction analysis.

Environment & Requirements

Platform
An Android app intended for Monkey stability testing of apps installed on the same Android device.
System Range
The code is configured with minSdkVersion 21 and targetSdkVersion 35, indicating Android 5.0 and later devices.
Access Path
The tester selects an installed app in the UI and configures event ratios, fixed delay, random seed, and either count-based or time-based execution. Wireless mode runs shell monkey and logcat through a local localhost:5555 ADB socket; the code also keeps a USB-debug workflow entry point.
Package
shahou_v1.4.7.apk

Permissions & Dependencies

  • On first launch, it requests all-files access, overlay, notification, and battery-optimization exemption permissions, and it uses a foreground service during testing.
  • Wireless mode depends on ADB debugging being enabled on the device and, as prompted in the UI, an initial `adb tcpip 5555` authorization step from a PC.
  • The target must be an installed and launchable app on the current device; packages without usable activities do not enter a valid test flow.
  • Reports and summaries are written into the app's files/external-files directories, with per-session crash and ANR text logs persisted on disk.
  • The app periodically controls mute and Wi-Fi-related settings, so it depends on the corresponding system permissions and the device allowing background execution.

Support Notes

Explicitly Supported

  • The project is an Android app with a splash screen, test screen, report screen, help screen, and a foreground service.
  • It can select one installed app and build a `monkey -p <pkg>` command with event ratios, fixed delay, random seed, and count-based or duration-based control.
  • Wireless mode opens a local TCP ADB connection to `localhost:5555`, and the UI explicitly instructs the user to run `adb tcpip 5555` first.
  • During testing, it collects `AndroidRuntime` crash logs and `ActivityManager` ANR logs, counts them, and persists them to disk separately.
  • Session summaries are stored in local files and capped at 10 recent records.
  • Wireless mode supports force stop through triple Volume Down presses.

Reasonable Inference

  • The `localhost:5555` design suggests it is best suited to devices where ADB over TCP has already been authorized, typically after initial setup with a PC.
  • The USB path depends on a file handshake using `1.txt`, `2.txt`, and `startmonkey.txt`, which suggests an external companion flow; that companion implementation is not explicitly present in this repository.
  • Based on its boundaries, it is better suited to single-device, single-app stability regression than to multi-device orchestration or a general-purpose mobile test platform.
  • The README documents OEM-specific background-run settings, which indicates some ROMs may need extra background allowances for stable long-duration execution.
  • Wireless Monkey execution is issued in batches of 100 events, reducing the risk of a long uncontrolled background run.
  • A background service monitors the current foreground window and, if Monkey navigates away from the target app, tries to send Back and relaunch the target.
  • Reports record device model, OS version, run mode, event parameters, crash/ANR counts, and log paths, while keeping the latest 10 summary entries.
  • Wireless sessions support emergency stop by pressing Volume Down three times within a two-second window.

Download & Trust

Version
v1.4.7
Package
APK
Size
5.9 MB
Updated
2026-05-22
Download
Sign in Required

This self-developed tool is built for real Android app QA workflows, runs locally, and does not depend on an external testing platform.

Download APK