1 # XCRS AndroidKit
2
3 XCRS AndroidKit is the optional Android companion runner for semantic E2E
4 automation. It is separate from adb: adb remains sufficient for screenshots,
5 coordinate input, app lifecycle, and system buttons.
6
7 Build an AndroidKit APK from the public `xcrs-androidkit` repository, then
8 install and start it on the selected Android device:
9
10 ```sh
11 xcrs android-kit install --serial <serial> --apk <path-to-apk>
12 xcrs android-kit start --serial <serial>
13 xcrs android-kit status --serial <serial>
14 ```
15
16 AndroidKit binds only to an Android local socket. xcrs creates and removes its
17 own `adb forward` connection for each RPC call; it does not expose a network
18 service on the device.
19
20 When AndroidKit is available, `ui_describe`, `ui_element_list`, and `ui_tap`
21 accept `app_id` as the Android package name. `ui_tap` uses an exact accessible
22 text, content description, resource identifier, or hint and fails if it finds
23 zero or more than one visible enabled target. The app must be foreground.
24
25 `bundle_id` remains accepted as a compatibility alias for Apple callers. New
26 cross-platform clients should send `app_id`; passing different `app_id` and
27 `bundle_id` values is invalid.