Files
Hubert Gancarczyk edcb502a2c fix(android-devtools): refuse to stamp a versionCode the pinned helper source has not earned
`build:android-binaries` compiles the helper from the `packages/argent-private`
submodule and stamps `--version-code` from this repo's manifest. Nothing tied
those two together, so bumping the manifest to 2 for the `setText` protocol —
without moving the submodule pointer, which is still v0.19.0 and
`PROTOCOL_VERSION = "1"` — mints an APK that claims versionCode 2 and cannot
answer the method.

That fails silently and permanently. `ensureAndroidDevtoolsInstalled` compares
`probe.versionCode >= manifest.versionCode`, `2 >= 2` is satisfied, and the real
v2 helper is never pushed. Reproduced on an API 36 emulator: with such an APK
installed and a GENUINE protocol-2 APK bundled, the install is skipped, the
device still reports versionCode 2, and every clear comes back
`helper_outdated`. `adb uninstall` is the only recovery.

The manifest now states the protocol it promises, and `build.sh` compares it
against the source's own `PROTOCOL_VERSION` before compiling anything. Kept as
its own field rather than read off the versionCode: the versionCode is the
install bar and a rebuild for a plain bug fix moves it alone.

Verified both ways on the pinned tree: the build now stops with the pointer's
protocol named and `bin/` untouched, and the same extraction against the
protocol-2 helper source answers 2, which is what the manifest declares.
2026-08-24 20:22:51 +02:00
..