← Back to Skills Marketplace
openlittlebear

Appium Android Bridge

by openlittlebear · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
59
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install appium-android-adb
Description
Read and control any Android app via Appium. Provides a persistent bridge daemon (bridge_daemon.py) with dump/tap/scroll/type/wait commands. Use when raw ADB...
README (SKILL.md)

Appium Android Bridge

Generic Appium bridge for any Android app. Reads screens as structured JSON, executes taps/scrolling/typing via accessibility service clicks (bypasses WebView touch filtering).

Quick Start

# Once per session (28s, starts Appium + daemon):
bash ~/.openclaw/workspace/skills/appium-android-adb/start_bridge.sh

# Then every action (~1-2s each):
python3 ~/.openclaw/workspace/skills/appium-android-adb/bridge_daemon.py dump
python3 ~/.openclaw/workspace/skills/appium-android-adb/bridge_daemon.py tap '{"text": "查询"}'
python3 ~/.openclaw/workspace/skills/appium-android-adb/bridge_daemon.py scroll '{"direction": "down"}'

Commands

All from ~/.openclaw/workspace/skills/appium-android-adb/. All return JSON.

dump — read the screen

python3 bridge_daemon.py dump

Returns:

{
  "ok": true,
  "package": "com.example.app",
  "activity": "...",
  "title": "...",
  "alerts": [{"text": "温馨提示"}],
  "buttons": [{"text": "查询", "id": "btn_search", "bounds": "[99,750][981,882]"}],
  "trains": [{"text": "...", "bounds": "...", "clickable": true}],
  "webview_contexts": ["NATIVE_APP"]
}
  • buttons[] — all clickable elements with text, id, bounds
  • alerts[] — dialogs/popups needing dismissal
  • trains[] — elements containing "次列车" (app-agnostic; rename for other apps)
  • title — page title if present

tap — click an element

python3 bridge_daemon.py tap '{"text": "查询车票"}'       # by text (substring match)
python3 bridge_daemon.py tap '{"text": "预订", "index": 0}' # first match
python3 bridge_daemon.py tap '{"id": "btn_submit"}'         # by resource-id

scroll — swipe the screen

python3 bridge_daemon.py scroll '{"direction": "down"}'               # normal
python3 bridge_daemon.py scroll '{"direction": "down", "distance": "short"}' # fine
python3 bridge_daemon.py scroll '{"direction": "up"}'                 # go back

Uses fast drag (100ms) — works best for WebView content.

type — input text

python3 bridge_daemon.py type '{"text": "上海"}'

wait — poll until element appears

python3 bridge_daemon.py wait '{"text": "提交订单", "timeout": 30}'

When to Use This

Use appium-android-adb when:

  • The app uses WebView (ADB taps are ignored)
  • You need structured screen reading (not screenshot-based)
  • You need reliable element clicking (accessibility service, not raw touch)
  • You're automating a hybrid app (native + WebView)

Do NOT use for:

  • Simple native-only apps where adb shell input tap works fine
  • One-off screenshots (use adb shell screencap)

Troubleshooting

Daemon died: Run start_bridge.sh again to restart. Device not found: Check USB connection: adb devices App not launching: The daemon attaches to the running app. Cold-start the app manually if needed: adb shell monkey -p \x3Cpackage> 1

Usage Guidance
Review this carefully before installing. Use it only on a trusted machine and authorized test device, avoid sensitive apps, and do not run it in multi-user or untrusted local environments. The publisher should remove the broad Appium insecure flags, replace /tmp IPC with a private authenticated channel, document the persistent daemon and auto-launch behavior, and either make the bridge truly generic or clearly label it as targeting com.MobileTicket/12306.
Capability Tags
crypto
Capability Assessment
Purpose & Capability
The stated purpose is a generic Appium bridge for any Android app, but the code hardcodes package com.MobileTicket, auto-launches it, includes 12306-specific comments and parsing, and the startup script references a 12306 skill path.
Instruction Scope
The documentation discloses dump/tap/scroll/type/wait commands, but it does not clearly bound use to authorized devices or sensitive app contexts, and it under-discloses automatic app launching, persistent daemon behavior, and predictable /tmp IPC.
Install Mechanism
There is no package install step or dependency installer; the skill relies on existing adb, Appium, Python Appium/Selenium libraries, and a connected Android device.
Credentials
Launching Appium with --allow-insecure all and --relaxed-security is broader than needed for the documented commands, and predictable /tmp command/response files allow other local processes to inject commands or read returned UI data.
Persistence & Privilege
The bridge starts a long-running daemon and Appium server, writes lock and IPC files in /tmp, auto-starts the daemon from normal command use, and can read UI state and inject taps, scrolls, and typing on a connected device.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install appium-android-adb
  3. After installation, invoke the skill by name or use /appium-android-adb
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of appium-android-adb skill. - Provides a persistent Appium bridge daemon for controlling any Android app. - Supports structured screen reading (JSON output) and reliable interactions (tap, scroll, type) via accessibility service. - Especially useful for automating WebView and hybrid apps where raw ADB does not work. - Includes commands: dump, tap, scroll, type, wait for robust automation workflows.
Metadata
Slug appium-android-adb
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Appium Android Bridge?

Read and control any Android app via Appium. Provides a persistent bridge daemon (bridge_daemon.py) with dump/tap/scroll/type/wait commands. Use when raw ADB... It is an AI Agent Skill for Claude Code / OpenClaw, with 59 downloads so far.

How do I install Appium Android Bridge?

Run "/install appium-android-adb" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Appium Android Bridge free?

Yes, Appium Android Bridge is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Appium Android Bridge support?

Appium Android Bridge is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Appium Android Bridge?

It is built and maintained by openlittlebear (@openlittlebear); the current version is v1.0.0.

💬 Comments