Skip to content

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) — and target: android resolves 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).

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)