A universal command-line tool for managing iOS and Android devices, simulators, emulators and apps from Mobile Next.
- Device Management: List and manage connected iOS/Android devices and simulators
- Screenshot Capture: Take screenshots from any connected device with format options (PNG/JPEG)
- Device Control: Reboot devices, tap screen coordinates, press hardware buttons
- Cross-Platform Support: Works with iOS physical devices, iOS simulators, Android devices, and Android emulators
- Multiple Output Formats: Save screenshots as PNG or JPEG with quality control
- App management: Launch app, terminate apps. Install and uninstall coming next βοΈ
- go-ios (for iOS device management)
- Android SDK with
adb
in PATH (for Android device support) - Xcode Command Line Tools (for iOS simulator support on macOS)
Get started right now with mobilecli
.
npm install -g @mobilenext/mobilecli@latest
git clone https://github.com/mobile-next/mobilecli.git
cd mobilecli
make build
# Install go-ios for iOS device management
brew install go-ios
# or
npm install -g go-ios
# Install Android SDK and ensure adb is in PATH
# Download from: https://developer.android.com/studio/command-line/adb
# or
brew install --cask android-platform-tools
# List all connected devices and simulators to your local or remote server
mobilecli devices
Example output:
[
{
"id": "12345678-1234567890ABCDEF",
"name": "iPhone 15",
"platform": "ios",
"type": "real"
},
{
"id": "emulator-5554",
"name": "Pixel_7_API_34",
"platform": "android",
"type": "emulator"
}
]
# Take a PNG screenshot (default)
mobilecli screenshot --device <device-id>
# Take a JPEG screenshot with custom quality
mobilecli screenshot --device <device-id> --format jpeg --quality 80
# Save to specific path
mobilecli screenshot --device <device-id> --output screenshot.png
# Output to stdout
mobilecli screenshot --device <device-id> --output -
# Reboot a device
mobilecli reboot --device <device-id>
# Tap at coordinates (x,y)
mobilecli tap --device <device-id> 100,200
# Press hardware buttons
mobilecli press-button --device <device-id> HOME
mobilecli press-button --device <device-id> VOLUME_UP
mobilecli press-button --device <device-id> POWER
HOME
- Home buttonBACK
- Back button (Android only)POWER
- Power buttonVOLUME_UP
- Volume upVOLUME_DOWN
- Volume down
- Currently requires that you install and run WebDriverAgent manually
- Currently requires that you install and run WebDriverAgent manually
make lint
make build
make test
For issues and feature requests, please use the GitHub Issues page.
Be sure to join our slack channel today.
To learn more about Mobile Next and what we're building, subscribe to our newsletter.