plugin-adb
| Version | 2026.180.0001 |
| Repo | superproject |
| Plugin | yes — see the plugin reference |
OUT-OF-TREE charly plugin owning ALL Android device interaction: the adb
Android-Debug-Bridge check VERB, the deploy:android SUBSTRATE (the
target: android app-install deploy, F1), AND the goadb-backed device
probe the charly status collector needs — a standalone Go module (go.mod
- main.go) that speaks the ADB wire protocol over go-plugin gRPC via the
charly plugin SDK (github.com/opencharly/sdk). charly’s loader fetches this candy’s
repo, go-builds the provider binary on the HOST, and serves it
OUT-OF-PROCESS via LocalTransport — so the github.com/zach-klippenstein/goadb
dependency + the SINGLE apk install path (apkeep + adb, R3) live HERE, out
of charly’s core go.mod. Authoring is unchanged: the
adb: <method>sugar desugars to plugin/plugin_input — the method + every adb-exclusive modifier ride the input map, validated against this plugin’s own #AdbInput (ResolveVerb → grpcProvider → invokeVerbProvider hands it the full desugared #Op) — andtarget: androidresolves to this plugin’s deploy:android provider over the E3b reverse channel — THIS plugin’s own preresolve.go (F6, FINAL/K5 unit 6a; dispatched via the generalized deploy_preresolve.go:wireDeployPreresolver seam) resolves the device endpoint + the apk specs, reaching the host’s “deploy-entity-resolve” HostBuild seam for the entity + Google-creds lookup, and ships the result in DeployVenue.Substrate; this plugin gates on boot then installs. Provides the full 12-method verb surface (devices/shell/install/install-app/uninstall/getprop/screencap/ logcat-tail/wait-for-device/wait-ui-settled/current-focus/keyevent) plus the deploy substrate. The R10 consumer is the check-android-emulator-pod bed (via android-emulator-layer).
Acceptance plan
Section titled “Acceptance plan”This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.
| Intent | Step |
|---|---|
check |
the running emulator is attached to the adb server (the out-of-process plugin verb dispatches through the registry and probes the live device) |