Skip to content

simulator-server crashes on a physical Android device over Wi-Fi, ip:port serial misclassified as emulator (android_emulator.rs:104 panic) #321

@4j17h

Description

@4j17h

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

  1. Connect a physical Android phone over Wi-Fi so its adb serial is ip:port
    (e.g. 172.16.15.31:5555).
  2. list-devices → device shows up (isEmulator: false). Good.
  3. describe → works (uiautomator).
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions