On this page

Device setup

Actuator talks to Android over ADB and to the iOS Simulator over xcrun simctl. It finds both on its own in most setups, including inside MCP clients that do not inherit your shell PATH.

Check before you configure

If this shows green for the tool you need, skip the rest of this page.

bash
drengr doctor

Android

ADB is resolved in this order, first hit wins:

  1. DRENGR_ADB_PATH, an explicit override
  2. ANDROID_HOME/platform-tools/adb
  3. Your shell profile PATH, sourcing ~/.zshrc or ~/.bashrc
  4. System PATH

If it is not found, pick one

Homebrew, which is the fastest:

bash
brew install android-platform-tools

Or point at an existing Android Studio install, in your shell profile:

bash
export ANDROID_HOME="$HOME/Library/Android/sdk"

Or override the path outright, which always wins:

bash
export DRENGR_ADB_PATH=/path/to/adb

A standalone download from developer.android.com works too. Extract it and put the folder on your PATH.

Where ADB usually lives

Common ADB install locations by platform
SetupPath
macOS, Homebrew/opt/homebrew/bin/adb or /usr/local/bin/adb
macOS, Android Studio~/Library/Android/sdk/platform-tools/adb
Linux, apt/usr/bin/adb
Linux, Android Studio~/Android/Sdk/platform-tools/adb

iOS Simulator

macOS only, and it needs the Xcode command line tools.

bash
xcode-select --install

If Xcode is installed but simctl is still missing, the active developer directory is probably unset:

bash
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Physical iOS devices are not supported yet. Simulators only.

Connecting a device

Android, physical

  1. Settings, About Phone, tap Build Number seven times to unlock Developer Mode
  2. Settings, Developer Options, enable USB Debugging
  3. Connect over USB and accept the prompt on the device itself
  4. Confirm with drengr doctor

Android, emulator

Start one from Android Studio's Device Manager, or from a terminal:

bash
emulator -avd Pixel_7_API_34

iOS Simulator

bash
open -a Simulator

Wait for the home screen. A simulator that is still booting does not appear in drengr devices yet.

Troubleshooting

ADB not found, but your terminal finds it

This is the most common one. MCP clients launch tool servers with a minimal environment that does not source your shell profile. Actuator works around it by spawning a login shell, but that only helps if the tool is on the PATH your profile sets, not just the PATH of the terminal session you happened to test in.

  1. Put ADB on the PATH in ~/.zshrc or ~/.bashrc, not just the current shell
  2. Or set ANDROID_HOME in that same profile
  3. Or set DRENGR_ADB_PATH, which skips detection entirely

Device connected but not detected

On Android, check adb devices directly. If it shows unauthorized, the prompt on the phone was not accepted. On iOS, give the simulator time to finish booting and try again.

Permission denied while installing

The installer needs write access to /usr/local/bin and will ask for sudo. To avoid that, install somewhere you own:

bash
curl -fsSL https://drengr.dev/install.sh | INSTALL_DIR=$HOME/.local/bin bash

Still stuck? drengr diag list shows the bundles saved on failed runs, already redacted on disk. See the CLI reference.