Preview deployments for Android
Web teams have had this for a decade: open a pull request, get a link, click it, see the change running. Android teams get a CI artifact and instructions. PreviewAPK closes that gap — your CI pushes the APK build and the change is running in the browser in seconds, opened from the session's share link on the pull request.
Try it with a live device
PreviewAPK is in private beta. Get early access to test your own builds.
How it works
- Your CI builds the APK — the same workflow you already run (GitHub Actions, GitLab CI, Bitrise, a laptop cron job; if it produces an .apk, it qualifies).
- One step pushes it.
previewapk push app.apk --runwith your account key as a secret. The build attaches to your device and a session starts. From a shell script it's the CLI; from anything else, it's one REST call. - The PR comment carries the link. The workflow fetches the session link after the run starts and posts it — reviewers click and they're watching the build, usually within seconds of the push.
One link per device, not per build
Preview services for the web mint a URL per deployment because web deploys are cheap and stateless. Android previews run on a device — your device, a dedicated slot that runs one app at a time. So the model is different and, for review, better:
- The link always opens the current build. Nobody reviews last Tuesday's version by accident because the thread is old.
- No link archaeology. The PR template, the team wiki, and the pinned Slack message all carry the same URL forever.
- History isn't lost. Your portal lists recent builds; reattaching an older one takes a click when you genuinely need it.
What reviewers get
A live mirror of the real app on a Pixel 9 Pro or Galaxy S24 profile, Android 10–15 — not a video, not a mockup. They watch while it runs; viewing is all a link can do, by design: driving happens only in the owner's portal (or via the owner's API key), so a forwarded link never hands a stranger control of your build. For the passes that need real hardware, enable the device's QR code and the same reviewer installs the exact APK on their phone.
Bots push, humans review — or the other way around
Sessions declare who drives. A CI-started session is normally user-driven: it boots for the reviewer, and API input is refused. But if an AI agent is in your pipeline, it can start a session agent-driven instead — pushing its build, tapping through the changed flow, capturing screenshots, and only then posting the link with evidence attached. Same device, same link, two legitimate drivers — never both at once. The full model is in the developer & agent guide.
What it costs
A flat $19/month per device with unlimited testing — every PR preview included, no minute metering while a reviewer stares at a screen deciding. PreviewAPK is in private beta; the waitlist locks in the launch price.
Keep going
- AI agent Android testing — when the thing pushing your builds can also drive them.
- Test APK online — the manual loop, for builds your pipeline doesn't produce.
- How to test an Android app online — the full guide, including wiring previews into CI.
FAQ
Does PreviewAPK work with GitHub Actions and other CI?
Yes. The preview step is one CLI command — `previewapk push app.apk --run` — or one API call, using your account key stored as a CI secret. It runs after your normal build step in the same workflow file, on any CI that can run a shell command.
Do reviewers need an account or an install?
No. The preview link opens in any browser with the app already running on a cloud device. Reviewers watch it live; they install nothing and sign up for nothing. If a reviewer wants the build on their own phone, enable the device's QR code and they can install the same APK.
What happens to previews from older pull requests?
The link is per device, not per build: it always opens the build currently attached to the device — normally your newest push. Your portal keeps recent builds one click away if you need an older one back on the device. One link to bookmark, never a graveyard of stale preview URLs.
How is this different from Firebase App Distribution or Play internal testing?
Those distribute files: testers download and install the APK on their own phones, on their own schedule. PreviewAPK streams the actual app live in the browser — the reviewer is looking at the build seconds after CI finishes, with nothing installed. The two approaches complement each other; distribution is for device fleets, previews are for review.