This is the Android slice of mobile-model-eval.
It keeps the original Android architecture:
- MCP and admin APIs are served by
platforms/android/bridge. - Device control uses
adbplus emulator snapshot management. - Recording uses
scrcpy. - Verification uses Android shell commands against actual device state.
platforms/android/
├── bridge/
│ └── src/
│ ├── main.ts
│ ├── device_pool.ts
│ └── adb_service.ts
├── checks.ts
└── tests/
airplane-mode-onairplane-mode-offset-alarm-5pmuninstall-app
The disabled verification-code test factory is still present in
platforms/android/tests/verification-code.ts.
- Bun
- Android SDK with
adbonPATH - At least one connected Android emulator or device
scrcpyffmpeg
Install from the repository root so Bun or npm also installs the Android and iOS bridge workspace dependencies:
bun installOr:
npm installTo verify the full repository TypeScript setup:
bun run typecheckTo verify only the Android bridge package:
cd platforms/android/bridge
bun run typecheckscripts/start-android-emulator.sh Pixel_8a -no-audiobun run index.ts --platform android --provider codex --model gpt-5.4Or use the top-level runner:
./run.sh --platform android --provider codex --model gpt-5.4ANDROID_DEVICESComma-separated ADB serials.run.shauto-detects these when possible.PORTMCP port. Defaults to3000.ADMIN_PORTAdmin API port. Defaults to3001.
- Baseline restore uses the Android emulator snapshot named
baseline. - The Android bridge remains the authoritative path for ADB shell verification and emulator-console-backed tests such as SMS injection.