Runtime access for AI coding agents to observe and control Android and iOS apps.
Mobile Easy Use
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Beyond UI control. Deep runtime exploration.**
English · 简体中文 · Français · Русский · Español · العربية
Give AI agents runtime access to Android and iOS apps through MCP: inspect native objects and state, trace and override method calls, control the UI, and interact directly with a running app.
The recording shows an AI agent operating a mobile app, tracing call paths and method timing.
https://github.com/user-attachments/assets/e956fdbf-da6a-4608-a877-11a107f70760
Why runtime exploration matters in AI coding
In complex projects, app behavior depends on runtime data, configuration, caches, and call timing. Source code explains the implementation; runtime exploration reveals which branch actually ran, what state objects are in, and where a failure occurred. Together, they give the agent evidence for coding decisions.
Runtime observations guide the agent through the coding loop:
- **Research and before coding:** Read source alongside calls, data, and state in the running app to understand how it actually works.
- **Validate a technical approach:** Temporarily change configuration, fields, or method returns in the running app to check assumptions, then restore them.
- **Investigate problems:** Reproduce the issue in the app and connect actual calls, state changes, and UI behavior to locate the failure.
- **After coding:** Run the updated app and replay the scenario to verify the result. Confirmed expectations can become regression tests.
For example, ask the agent to investigate a list that does not update:
The agent can inspect the following information, depending on the platform and app implementation:
| Runtime information | What it tells you |
| --- | --- |
| Business objects and state | Current data, caches, configuration, and business state, including changes after an action |
| Method calls | Which methods run, their arguments, return values, call stacks, and execution threads |
| Execution time and memory changes | Method duration and process memory changes around calls |
| Business logs | How far execution progresses and what clues point to a failure |
| UI and control state | Control presence, visibility, position, and properties |
| Window and element screenshots | Actual appearance and visual changes after an action |
Enhanced UI automation testing
Mobile Easy Use can also serve as an enhanced UI automation testing tool. Its access to app internals lets tests go beyond UI interactions and screenshot checks to verify business state, control runtime behavior, and investigate failures.
1. **Deeper assertions:** Verify UI, screenshots, and native business state together. After refreshing a list, check both the displayed content and the underlying data and cache.
2. **More control over scenarios:** Temporarily override fields or method returns to exercise empty data, failures, or specific configuration branches.
3. **Clearer failure diagnosis:** Connect actual method calls, arguments, return values, and state changes. When a list fails to update, determine whether data was stored or the UI failed to refresh.
Example: one click, business state, UI, and screenshot checks
This generates a JavaScript test file, which you can then run with to-android-test.
Run from the initial **UI → Class names and subclasses** page, with a reviewed post-click baseline at baselines/first-clicked.jpg, relative to the test file.
Getting started
Prepare Node.js 20+.
Android requires ADB and an available device or emulator. iOS requires macOS, Xcode and its command-line tools; physical devices also require iproxy and development signing for the XCTest Runner used for input actions.
1. Install Skills
Run from the target app project root:
This selects all Skills in the repository. Follow the prompts to choose your agent and installation scope. See the Skills CLI documentation for the command and options.