Hey Team, first of all thanks for the great tool, you do great work for the react-native as always.
Summary
screenshot, gesture-tap, and all other simulator-server-backed tools fail for a
physical Android device connected over Wi-Fi/adb-tcpip. The Rust simulator-server
panics on startup because it treats the device's ip:port serial as an emulator and
asserts that a matching running emulator exists. It exits before printing api_ready, so
every tool that depends on it errors with:
Service dependency failed: [SimulatorServer:] simulator-server exited with code before becoming ready
describe (uiautomator) and list-devices keep working because they're pure adb — only the
simulator-server path is affected.
Environment
- argent: 0.10.0
- Host: macOS 26.5.1, arm64
- Device: Samsung SM-M346B (Galaxy M34), Android 15, physical, connected wirelessly
(adb tcpip 5555 + adb connect 172.16.15.31:5555) → serial 172.16.15.31:5555
list-devices correctly reports this device as isEmulator: false.
Steps to reproduce
- Connect a physical Android phone over Wi-Fi so its adb serial is
ip:port
(e.g. 172.16.15.31:5555).
list-devices → device shows up (isEmulator: false). Good.
describe → works (uiautomator).
screenshot or gesture-tap → fails.
Expected
simulator-server captures/injects on the physical device (it's a real, authorized adb
device), or at minimum the tools fall back to adb (screencap / input) instead of hard-failing.
Actual panic (from ~/.argent/tool-server.log)
[sim 172.16.1]
thread '' panicked at src/device_controller/android_emulator.rs:104:32:
emulator with id "172.16.15.31:5555" should be running
[sim 172.16.1] [INFO simulator_server::media_handler::screenshot_service] Screenshot service stopped
[sim 172.16.1] [INFO simulator_server::media_handler::encoder] Image channel closed, stopping encoder
[sim 172.16.1] Error: The tokio runtime thread exited unexpectedly. Any { .. }
[registry] serviceError SimulatorServer:172.16.15.31:5555: ... exited with code before becoming ready
Workaround I am following
- Connect the phone over USB (hardware serial, no
ip:port) - avoids the emulator path.
Hey Team, first of all thanks for the great tool, you do great work for the react-native as always.
Summary
screenshot,gesture-tap, and all other simulator-server-backed tools fail for aphysical Android device connected over Wi-Fi/adb-tcpip. The Rust
simulator-serverpanics on startup because it treats the device's
ip:portserial as an emulator andasserts that a matching running emulator exists. It exits before printing
api_ready, soevery tool that depends on it errors with:
describe(uiautomator) andlist-deviceskeep working because they're pure adb — only thesimulator-server path is affected.
Environment
(
adb tcpip 5555+adb connect 172.16.15.31:5555) → serial172.16.15.31:5555list-devicescorrectly reports this device asisEmulator: false.Steps to reproduce
ip:port(e.g.
172.16.15.31:5555).list-devices→ device shows up (isEmulator: false). Good.describe→ works (uiautomator).screenshotorgesture-tap→ fails.Expected
simulator-server captures/injects on the physical device (it's a real, authorized adb
device), or at minimum the tools fall back to adb (
screencap/input) instead of hard-failing.Actual panic (from ~/.argent/tool-server.log)
Workaround I am following
ip:port) - avoids the emulator path.