Skip to content

Azdroid v1.4.0

Choose a tag to compare

@az-coder-123 az-coder-123 released this 22 Oct 12:36
· 16 commits to main since this release

Azdroid v1.4.0 (macOS)

New

  • Leaner MCP catalog: 38 tools (was 61). Related operations share one tool with a mode parameter (for example android_tap with taps: 2 or holdMs, android_press_key with panels and game keys, android_get_device_stats with kind), so clients that cap the tool count (Cursor, about 40 across all servers) see every tool. The older tool names still work when called.
  • App and game development tools (guide):
    • android_find_image: finds a picture on screens without a UI tree (games), from an image file or a saved screen region.
    • android_run_instrumentation: runs an app's on-device tests (am instrument) and lists failures with their stack traces.
    • android_set_display_config: dark mode, font scale, density, and screen size, with reset.
    • android_get_logcat with package and sinceSeconds; android_get_device_stats with kind: "fps" (SurfaceFlinger, covers games) and "thermal"; android_launch_app with measure: true (launch time); android_wait_for_condition with image_present and screen_changed.
  • Real multi-finger touch: android_multitouch_gesture with gesture: "strokes" plays up to 10 fingers at once with millisecond timing (hold a joystick while tapping). Pinch and rotation now use two real fingers.
  • Safety annotations and agent instructions: every tool declares read-only or destructive hints; the server explains its workflow and which tools need confirmation on initialize.

Improved

  • Faster input: taps, swipes, keys, and batch steps go through a control-only scrcpy session that the MCP server starts on first use, with adb shell input as the fallback. Measured on a Moto g play (USB) and a Redmi 9 (Wi-Fi): about 50 ms per tap after the first call, against 0.1–1.2 s per adb shell input command.
  • Screen fractions follow the current orientation (landscape works) and a changed screen size.
  • Text keeps its spaces; coordinates keep their unit (xPixel: 1 is pixel 1).

Fixed

  • Crash check no longer reports logcat's buffer headers as a crash, and reports real crash-buffer entries.
  • Clearing a text field now clears it (it removed one character).
  • Clipboard, biometrics, mock location, and notification tools report when the device lacks the command instead of claiming success.
  • Text sent to the device shell is quoted (an apostrophe broke the command; ; could run another).
  • With several devices connected, tools ask for deviceSerial instead of using the first one.
  • Launch timing on a locked screen stops after 30 s instead of hanging the server; the server exits when its client disconnects.

Known Limitations

  • The app is not signed with an Apple Developer ID. If macOS blocks it, run xattr -cr /Applications/Azdroid.app once.
  • The bundled MCP server (azdroid-mcp) is built for Intel only; on Apple Silicon it runs via Rosetta 2.
  • Windows: no new build in this release; use the v1.3.0 Windows package.
  • android_run_instrumentation has not yet been run against a real test APK; its parser is tested with sample output.
  • The first touch or key call starts the scrcpy session (about 1.5 s over USB, 3.5 s over Wi-Fi).

Verify the Download

Compare the SHA-256 of the ZIP with RELEASE/SHA256SUMS.txt in the repository:

shasum -a 256 Azdroid-v1.4.0-macOS.zip