Skip to content

Supported devices and OS versions

Android emulator and iOS simulator configurations available on Marathon Cloud.

Marathon Cloud runs Android tests on emulators and iOS tests on ARM64 simulators. Physical devices are not offered.

Pass the Android version to --os-version:

--os-version API level
17 37
16 36
15 35
14 34
13 33
12 31
11 30
10 29
9 28
8.1 27
8 26
--system-image Description
default AOSP image without Google services. Android 10 to 14, arm64 only.
google_apis Google APIs (Play Services) included. Available on every version; required for Android 8 to 9, Wear OS, TV, and Maestro.
google_apis_playstore Google APIs plus the Play Store. Android 10 and later.

Valid combinations by version:

--os-version Allowed --system-image
8, 8.1, 9 google_apis
10 to 14 default, google_apis, google_apis_playstore
15, 16, 17 google_apis, google_apis_playstore

The CLI rejects other combinations before uploading, for example --os-version 15 --system-image default.

Emulators run on amd64 (x86_64) unless you pass --arch arm64. Use arm64 when the app bundles native libraries without an x86_64 ABI, or to test on the same architecture as production devices.

--arch Requirements
amd64 google_apis or google_apis_playstore. Any Android version. Default.
arm64 Android 9 or later. Every system image, including default.

default images exist only for arm64, so --system-image default --arch amd64 is rejected. arm64 is available on run android and run maestro android from CLI 1.0.65; iOS simulators are always arm64.

--device OS versions System image
phone (default; any phone device type ID) All Any
watch 11, 13, 15 google_apis
tv 10, 11, 12, 13, 14 google_apis

The CLI rejects combinations outside this table before uploading.

The simulator list is fixed. Xcode is chosen by the platform from the iOS version; --xcode-version is deprecated and ignored.

--os-version --device
18.2, 18.4 iPhone-11, iPhone-16, iPhone-16-Plus, iPhone-16-Pro, iPhone-16-Pro-Max
26.1 iPhone-16-Pro, iPhone-17, iPhone-17-Pro, iPhone-17-Pro-Max

If you pass only --device, the iOS version is inferred when unambiguous. iPhone-16-Pro is available on both 18.x and 26.1, so pass --os-version with it.