a11y-bridge
Android端末の操作を高速化し、UI要素を直接読み込んでクリックすることで、AIによる自動化や遠隔操作を劇的に効率化するSkill。
📜 元の英語説明(参考)
Control Android devices via Accessibility Service HTTP bridge. 100x faster than screencap + uiautomator dump. Read UI tree in 50ms, click elements by text/id/description. Use when automating Android apps, controlling a phone via ADB, or building an AI-powered phone agent. Replaces the slow screenshot → parse → coordinate-tap cycle with instant semantic access.
🇯🇵 日本人クリエイター向け解説
Android端末の操作を高速化し、UI要素を直接読み込んでクリックすることで、AIによる自動化や遠隔操作を劇的に効率化するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o a11y-bridge.zip https://jpskill.com/download/6775.zip && unzip -o a11y-bridge.zip && rm a11y-bridge.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/6775.zip -OutFile "$d\a11y-bridge.zip"; Expand-Archive "$d\a11y-bridge.zip" -DestinationPath $d -Force; ri "$d\a11y-bridge.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
a11y-bridge.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
a11y-bridgeフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
A11y Bridge — AndroidアクセシビリティHTTPブリッジ
16KBのアクセシビリティサービスを介してAndroidデバイスを制御します。このサービスは、ライブUIツリーをHTTP (localhost:7333) で公開します。任意の画面を約50msで読み取り、座標計算なしでテキストによるクリックが可能です。
前提条件
- USBデバッグが有効な状態でUSB経由で接続されたAndroidデバイス
- ADBがインストールされ、PATHでアクセス可能であること
- Android SDK (build-tools 34, platform android-34) — ソースからビルドする場合にのみ必要です
セットアップ
プレビルド済みAPKのインストール
最新のAPKをReleasesからダウンロードし、以下の手順を実行してください。
# インストール
adb install openclaw-a11y.apk
# アクセシビリティサービスを有効にする
adb shell settings put secure enabled_accessibility_services \
com.openclaw.a11y/.ClawAccessibilityService
adb shell settings put secure accessibility_enabled 1
# ポートフォワーディング
adb forward tcp:7333 tcp:7333
# 確認
curl http://localhost:7333/ping
ソースからのビルド (オプション)
chmod +x build.sh && ./build.sh
使用方法
画面の読み取り (~50ms)
# 完全なUIツリー
curl http://localhost:7333/screen
# コンパクトモード (インタラクティブ/テキスト要素のみ)
curl 'http://localhost:7333/screen?compact'
すべてのUI要素(テキスト、境界、クリック可能、編集可能など)を含むJSONを返します。
テキストによるクリック
# 「Settings」を含む要素をクリック
curl -X POST http://localhost:7333/click \
-H "Content-Type: application/json" \
-d '{"text": "Settings"}'
# リソースIDによるクリック
curl -X POST http://localhost:7333/click -d '{"id": "com.app:id/send"}'
# コンテンツ記述によるクリック
curl -X POST http://localhost:7333/click -d '{"desc": "Navigate up"}'
座標のタップ
curl -X POST http://localhost:7333/tap -d '{"x": 540, "y": 960}'
ヘルスチェック
curl http://localhost:7333/ping
ワークフロー
- 読み取り:
curl http://localhost:7333/screen→ すべてのUI要素を含むJSON - 検索: JSONレスポンス内でテキスト/ロールによってターゲット要素を特定します
- 操作:
curl -X POST /click -d '{"text":"Send"}'→ テキストによるクリック、座標は不要です - 繰り返し
マルチデバイス対応
複数のデバイスが接続されている場合、すべてのADBコマンドで-s <serial>を使用してターゲットを指定します。
adb -s <serial> forward tcp:7333 tcp:7333
APIリファレンス
| エンドポイント | メソッド | 説明 |
|---|---|---|
/ping |
GET | ヘルスチェック |
/screen |
GET | 完全なUIツリーをJSONで返します。インタラクティブ要素のみの場合は?compactを追加します |
/click |
POST | text、id、またはdescでクリックします (JSONボディ) |
/tap |
POST | 座標x、yをタップします (JSONボディ) |
パフォーマンス
| uiautomator dump | A11y Bridge | |
|---|---|---|
| UI読み取り | 3-5秒 | ~50ms |
| クリック | 境界を計算 → input tap x y |
{"text": "OK"} |
| フルサイクル | 5-8秒 | 100-200ms |
フォールバック
A11y Bridgeサービスが実行されていない場合 (/pingで確認)、従来のADBコマンドにフォールバックします。
adb shell uiautomator dump /sdcard/ui.xml && adb pull /sdcard/ui.xml
adb shell input tap <x> <y> 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
A11y Bridge — Android Accessibility HTTP Bridge
Control Android devices through a 16KB Accessibility Service that exposes the live UI tree over HTTP (localhost:7333). ~50ms to read any screen, click by text without coordinate math.
Prerequisites
- Android device connected via USB with USB debugging enabled
- ADB installed and accessible in PATH
- Android SDK (build-tools 34, platform android-34) — only needed to build from source
Setup
Install pre-built APK
Download the latest APK from Releases, then:
# Install
adb install openclaw-a11y.apk
# Enable accessibility service
adb shell settings put secure enabled_accessibility_services \
com.openclaw.a11y/.ClawAccessibilityService
adb shell settings put secure accessibility_enabled 1
# Forward port
adb forward tcp:7333 tcp:7333
# Verify
curl http://localhost:7333/ping
Build from source (optional)
chmod +x build.sh && ./build.sh
Usage
Read screen (~50ms)
# Full UI tree
curl http://localhost:7333/screen
# Compact mode (only interactive/text elements)
curl 'http://localhost:7333/screen?compact'
Returns JSON with all UI elements: text, bounds, clickable, editable, etc.
Click by text
# Click element containing "Settings"
curl -X POST http://localhost:7333/click \
-H "Content-Type: application/json" \
-d '{"text": "Settings"}'
# Click by resource ID
curl -X POST http://localhost:7333/click -d '{"id": "com.app:id/send"}'
# Click by content description
curl -X POST http://localhost:7333/click -d '{"desc": "Navigate up"}'
Tap coordinates
curl -X POST http://localhost:7333/tap -d '{"x": 540, "y": 960}'
Health check
curl http://localhost:7333/ping
Workflow
- Read:
curl http://localhost:7333/screen→ JSON with all UI elements - Find: Locate target element by text/role in the JSON response
- Act:
curl -X POST /click -d '{"text":"Send"}'→ click by text, no coordinates - Repeat
Multi-device support
When multiple devices are connected, specify the target with -s <serial> for all ADB commands:
adb -s <serial> forward tcp:7333 tcp:7333
API Reference
| Endpoint | Method | Description |
|---|---|---|
/ping |
GET | Health check |
/screen |
GET | Full UI tree as JSON. Add ?compact for interactive elements only |
/click |
POST | Click by text, id, or desc (JSON body) |
/tap |
POST | Tap coordinates x, y (JSON body) |
Performance
| uiautomator dump | A11y Bridge | |
|---|---|---|
| Read UI | 3-5 seconds | ~50ms |
| Click | Calculate bounds → input tap x y |
{"text": "OK"} |
| Full cycle | 5-8 seconds | 100-200ms |
Fallback
If the A11y Bridge service is not running (check with /ping), fall back to traditional ADB commands:
adb shell uiautomator dump /sdcard/ui.xml && adb pull /sdcard/ui.xml
adb shell input tap <x> <y>