From 7b44b0c9a955f38bec6ba979dafecce5a3f7d251 Mon Sep 17 00:00:00 2001 From: PJ Date: Mon, 31 Aug 2026 10:21:51 +0530 Subject: [PATCH] docs: record that the apk can name the package itself Claude-Session: https://claude.ai/code/session_012PVErdr3ZzyUASeVQDWsUc --- docs/manual/cli.md | 4 ++-- skills/sanderling-setup/SKILL.md | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/manual/cli.md b/docs/manual/cli.md index ac07774..31211ef 100644 --- a/docs/manual/cli.md +++ b/docs/manual/cli.md @@ -15,9 +15,9 @@ Run a spec against an app for a fixed duration. | Flag | Default | Description | |---|---|---| | `--spec` | required | Path to the TypeScript spec. | -| `--bundle-id` | required | Target app bundle ID (Android: applicationId). | +| `--bundle-id` | required | Target app bundle ID (Android: applicationId). Optional on Android when `--android-app-path` is given: the applicationId is read from the APK's compiled manifest. | | `--device` | optional (android) | Android device serial, as `adb devices` reports it. Required when more than one device is attached. | -| `--android-app-path` | optional (android) | Path to the APK. Clear-state reinstalls from it instead of running `pm clear`. | +| `--android-app-path` | optional (android) | Path to the APK. Clear-state reinstalls from it instead of running `pm clear`, and it also supplies `--bundle-id` when that flag is absent. | | `--platform` | `android` | Target platform: `android`, `ios`, or `web`. | | `--avd` | optional (android) | Android AVD name to boot if no device is connected. Required only when no device is connected and multiple AVDs exist. | | `--ios-device` | optional (ios) | iOS target: a simulator name/UDID to boot, or a connected device's name, UDID, or CoreDevice id. | diff --git a/skills/sanderling-setup/SKILL.md b/skills/sanderling-setup/SKILL.md index 77f5e56..1a660ff 100644 --- a/skills/sanderling-setup/SKILL.md +++ b/skills/sanderling-setup/SKILL.md @@ -73,6 +73,10 @@ attached devices with `--device ` as `adb devices` prints it: sanderling test --spec spec.ts --bundle-id com.example.app --avd Pixel_7_API_34 ``` +`--android-app-path ` stands in for `--bundle-id`: the applicationId is +read out of the APK's compiled manifest, so the id and the file it came from +cannot disagree. + iOS takes `--platform ios` and `--ios-device`, which accepts a simulator name or UDID, or a connected device's name, UDID, or CoreDevice id. `--ios-app-path` points at the `.app` bundle and is what makes clear-state real; see section 4.