A private Android device farm for testing and operations
DeviceFarm is a private Android device farm: Android 10 to 16 devices on ARM hardware in our datacenter, reserved for your team instead of shared with other customers. Install builds, connect over ADB, keep accounts signed in, or script devices through the REST API with the Automation add-on; every device is still set up the way you left it next session.
Last updated
No credit card required
What Is an Android Device Farm?
An Android device farm is a pool of Android devices hosted remotely and controlled through a browser, ADB or an API. Public farms such as AWS Device Farm share devices by the minute and reset them after each session. DeviceFarm is a private farm: real Android on ARM hardware, dedicated to you, on plans from $39.99 for 20 devices plus runtime.
The term comes from mobile QA. Android runs on a long list of device models and OS versions, so a build that behaves on one phone can crash on another. A device farm lets a team reach many devices without buying them: the devices live in a remote lab, and testers drive them through a browser, a test runner or ADB.
Device farms come in two shapes. A public farm, such as AWS Device Farm, BrowserStack or Firebase Test Lab, shares a large catalog between customers, bills by device time or by parallel device slot, and resets each device when your session ends. A private farm reserves devices for one team, so installed builds, settings, test accounts and files are still there the next day.
DeviceFarm is a private Android device farm. Each device is a real Android system running on ARM phone hardware in a datacenter, not an x86 emulator and not an Android virtual machine on a PC. You pick the Android version and the device model when you create it, and it keeps that identity, including its own IMEI, Android ID and serial, until you delete it.
Because devices persist, one farm can serve two jobs. QA teams use it for testing that needs state: onboarding flows, long sessions, behavior that changes by country. Operations teams use it to keep each account signed in on its own device, which is what most people call a phone farm. The device farm vs phone farm guide explains where the two meanings overlap.
A real Android phone, kept in our datacenter
Each DeviceFarm phone is real Android running on ARM servers in our datacenter. It works like the Android phone you have at home, except you open it in your browser instead of holding it.
Real Android, on ARM servers
A complete Android system, Android 10 to 16, running natively on ARM servers: the same chip architecture as the phone in your pocket. Not an emulator, not an Android VM on a PC.
Used like the phone in your hand
Install apps from the catalog or your own APK, sign in, tap, swipe and type. Apps run on it natively, the way they run on an Android phone.
Kept in our datacenter
It stays on when you close the tab, keeps its own identity and proxy slot, and you control it from your browser on devicefarm.io. It has no SIM card, so no calls or carrier SMS.
Does DeviceFarm work with ADB, Appium or CI pipelines?
Partly, and the line is worth knowing before you sign up. DeviceFarm gives you direct access to each device. It does not run your test suites for you.
- ADB: yes, on Android 11 to 16. Enable it per device from the dashboard, then run
adb connectplus the one-line login it shows. Everything you know from ADB applies: install, logcat, push, pull, screencap, screenrecord. Android 10 devices do not support it. - REST API: yes, with the Automation add-on. Nine endpoints create, start, stop and delete devices, run a shell command, or launch a detached script and poll it. Read the API reference, or drive the same devices from Claude with the MCP connector. Both are part of the Automation add-on ($99/month).
- Appium, Espresso and CI: not supported. We do not document, test or support these integrations today. If a test suite has to run on every pull request across many models, use a public test cloud; our comparison with AWS Device Farm explains when each one fits.
Which Android versions and device models can you test on?
Seven Android versions, chosen per device when you create it:
Each version has its own model catalog, and the model you pick becomes part of the device's permanent identity. The build.prop entry shows which properties carry the model name and how to read them over ADB. Language and location can follow the proxy or be set by hand. What you will not find: iOS, and Android versions older than 10. If you are deciding between this and a local emulator, the Android emulator entry lists the values that tend to differ between an x86 emulator and an ARM device.
Every device is a full Android cloud phone, so APK uploads up to 512 MB, GPS per device and multi-view of up to 24 screens apply here too. Teams that need devices for accounts rather than tests will find fleet sizes and worked monthly totals on phone farm rental.
Sources
- AWS Device Farm pricing: $0.17 per device-minute, unmetered slots from $250 a month, private devices from $200 a month. Checked October 4, 2026.
Built on real hardware, run from your browser
Devices that keep their state
Stop a device and its installed builds, signed-in test accounts, settings and files are still there when you start it again. No re-provisioning before each session and no setup script to rebuild the same state.
ADB from your own terminal
Turn on ADB per device on Android 11 to 16, connect with adb connect, then install builds, read logcat, push and pull files, and capture the screen as you would on a phone plugged into your desk.
Nine REST endpoints (add-on)
Create, start, stop and delete devices, run a shell command, or launch a detached script and poll its output. The API and the Claude MCP connector come with the Automation add-on ($99/month).
Test what each market sees
Give every device its own SOCKS5, HTTP or HTTPS proxy, let language and location follow it, and set GPS to a city. Check localized content, store availability and regional prices without travelling.
Version and model per device
Android 10, 11, 12, 13, 14, 15 or 16, with the model picked from the catalog available for that version. The model and identifiers you get at creation stay fixed for the life of the device.
One farm for QA, product and ops
Seats are unlimited at no extra cost. Upload an APK or XAPK once to the team app library, install it on any device, and track usage per member or assign devices to the people who need them.
Public Test Cloud vs Private Android Device Farm
Both give you real Android devices you do not have to buy. The difference is who else uses them, what survives between sessions, and how you are billed.
| Public test cloud (AWS Device Farm, BrowserStack, Firebase Test Lab) | DeviceFarm private device farm | |
|---|---|---|
| Who uses the device | A shared pool; a device is yours for one session or test run | Dedicated to your account until you delete it |
| Between sessions | Reset: apps, logins and files are removed after each run | Kept: builds, settings, accounts and files persist while the device is stopped |
| Device catalog | Large catalog of Android and iOS models | Android 10 to 16 only, with a model catalog per version; no iOS |
| Test automation | Managed runners for frameworks such as Appium and Espresso, CI integrations, per-run reports | No managed test runner; ADB on Android 11 to 16 and shell scripts, plus a REST API with the Automation add-on |
| Network | The provider's network | Your own proxy on each device, chosen by country and city |
| Billing | AWS Device Farm: $0.17 per device-minute, or an unmetered slot from $250/month (as of October 2026) | $39.99 per 30 days for 20 devices, plus $0.012/min after the plan’s 60 free minutes per account, capped at $2.10/day per device |
| Best fit | Regression suites on every commit, across many models and both mobile platforms | Stateful manual QA, market-by-market checks, and long-lived accounts on Android |
Set Up a Private Device Farm in Four Steps
- 1
Choose your matrix
List the Android versions your users run and create one device for each version and model you need to cover. Each device is live in under 60 seconds.
- 2
Point each device at a market
Attach a proxy in the country you test or operate in. Language and location can follow the proxy automatically, and GPS can be pinned to a city.
- 3
Install and sign in once
Install your build from the team app library or with adb install, sign in the accounts you need, and leave the device configured.
- 4
Drive it your way
By hand in the browser, from your terminal over ADB, or, with the Automation add-on, by script through the REST API or from Claude over MCP. Stop devices between sessions to stop runtime.