pitfall 22: AAB proto manifest field numbers

This commit is contained in:
CRTkafa 2026-10-12 08:46:03 +08:00
parent 78be1304ec
commit f694af80eb
3 changed files with 13 additions and 0 deletions

View file

@ -254,3 +254,11 @@ Each entry: **symptom** → cause → what to do → what guards it now. The ful
## Adding a lesson
Every bug found in real use gets an entry in `docs/pitfalls.md` and here, and, where possible, a check or a test
that fails without the fix (see CONTRIBUTING.md).
## 22. `play build`: "AAB manifest without package / versionCode" on a good bundle
- **Symptom:** Gradle printed BUILD SUCCESSFUL, then storebound stopped with `AAB manifest without package / versionCode`
(storebound before this fix). `play upload` and `play release` used the same reader.
- **Cause:** storebound read the AAB's proto manifest (aapt2 Resources.proto) with the wrong field numbers. Nothing
was wrong with the bundle.
- **Do:** update storebound. Don't rebuild or change the Gradle setup for this error.
- **Guard:** `aabInfo` in `cli/lib/gradle.ts`; a byte-level test that doesn't use storebound's own encoder.