Let your AI agent actually run the app
Coding agents can write an Android app, compile it, and then… stop. They can't run an emulator worth using, and neither can the person who asked for the app — that's why the last mile of agent-built software is a screenshot of code and a shrug. PreviewAPK gives the agent a device: it pushes the build, drives the app, looks at screenshots, reads the UI tree and the app's logs — and shows you the running result, verified.
Try it with a live device
PreviewAPK is in private beta. Get early access to test your own builds.
The blind spot in agent-built apps
An agent's feedback loops are text: compiler errors, test assertions, log lines. For UI, text runs out. "The checkout button renders below the fold on a Galaxy screen" is not in any log. So agent-built apps ship with a class of bugs nobody ever looked at — literally. The fix isn't a smarter model; it's giving the model eyes on a running app, the same way a human developer glances at a phone after a build.
The loop
- Build. The agent compiles the APK as usual.
- Push.
previewapk push app.apk --run(or the MCPpreviewapk_push_apktool) attaches the build to your device and starts a session in agent-driven mode. - Drive and look. The agent taps through the flow it changed, types into the forms, and pulls screenshots — real images it can inspect — after each step.
- Fix before presenting. Layout clipped? Flow broken? The agent iterates against the running app, not against its imagination.
- Report. The agent files a finish report — what it tested, the actions it took, and the errors it hit, counted by the system during the run rather than reconstructed afterwards. It lands in your chat with a link to the portal.
- Hand over. The agent flips the session to you (
handoff) and pastes the session's share link in the chat: built, tested, take a look. You open it and the app is live; take the wheel whenever you like.
One wheel, two possible drivers
Driving is a credentialed act, never a link feature. A session is started either agent-driven — the API key drives, you watch in the portal with a Take Control button — or user-driven — you drive in the portal, and the agent's input calls are politely refused. Control passes between you mid-session with an explicit handoff, no reboot. And when the agent reaches a step that is not its to make — a password, a 2FA code, a payment confirmation — it asks you to take the wheel for that one step: you type the secret on the phone yourself, hand control back, and the agent sees the handback and resumes on its own. Whoever holds the link holds nothing but a view: share links are view-only in every mode, forever.
Three doors, same device
- CLI — one stdlib-only Python file; scriptable from any agent shell or CI job, with
--jsonoutput. - REST API — plain HTTPS with an
X-Api-Keyheader: state, upload, run, input, screenshot, handoff, stop. - MCP server — 27 native tools for agents that speak the Model Context Protocol: push, start, observe, tap, tap by label, swipe, key, type, screenshots, the UI tree, logs, recordings, device controls, asking the human for a step, and the finish report. Run it from one local file, or skip the download — the hosted endpoint takes a URL and your API key, and it is listed on the official MCP registry.
Endpoints, config snippets, and a copy-paste agent briefing are in the developer & agent guide; the machine-readable version is /llms.txt.
Honest limits
An agent driving PreviewAPK verifies flows, layouts, and logic across Android 10–15 on Pixel and Galaxy profiles. It does not verify Bluetooth pairing, NFC, biometrics, camera quality, or heavy 3D performance — those still want a real phone, which is why a device can carry a QR code that installs the same build on physical hardware for the final pass.
What it costs
A flat $19/month per device with unlimited testing — agent sessions included, no per-minute metering while an agent thinks between taps. PreviewAPK is in private beta; the waitlist locks in the launch price.
Keep going
- Preview deployments for Android — the same push, wired into CI and pull requests.
- Preview a Claude Code Android app — the step-by-step workflow, including the prompt to give your agent.
- Built your app with AI? — the founder's side of this loop, no dev setup required.
FAQ
Which AI agents can use PreviewAPK?
Any agent that can run a shell command (the CLI), make an HTTPS call (the REST API), or speak MCP — Claude Code, Cursor, Codex, and other coding agents all qualify. Setup is one downloaded file plus your account API key — or no download at all, through the hosted MCP endpoint; the guide at /agents walks through both.
How does the agent 'see' the app?
The screenshot tool returns the device's actual screen as an image in the tool result — the same pixels a human would see. Agents use it the way you'd expect: change a screen, run it, look, notice the button is cut off, fix it, look again.
Is it safe to let an agent drive?
The agent drives your device, with your key, on your account — nothing else. Sessions are explicitly agent-driven or user-driven: in a user-driven session the API's input calls are refused, and you can stop any session instantly from the portal. Links an agent shares are view-only no matter what.
Do I need an AI agent to use PreviewAPK?
No. The portal does everything by hand: upload, run, drive, share. The agent surface is additive — it's there for the growing share of apps that an agent helps build, and it uses the same devices, links, and pricing.