development
claude/smbcloud-github-app-k9641p
development
feature/apps
feature/build-release
feature/ci-docs
feature/ci-ruby-gems
feature/cicd
feature/completion
feature/dist-nuget
feature/fix-ci-sdk-pypi-rubygem
feature/fix-clippy-on-stable-channel
feature/fix-deployment-script
feature/github-email
feature/gresiq-v1
feature/project-new-structure
feature/rsync-deploy
feature/ruby-runner
feature/sdk-npm
feature/sdk-workflows
feature/smbcloud-cli-release-npm
feature/smbcloud-deploy
feature/wasm
main
release/v0.7.4
| 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. |