Summary
koolbase release forwards --obfuscate to the per-ABI builds, so an obfuscated base binary can be produced. What hasn't been validated is whether a VM patch applies on-device to an obfuscated base — and what obfuscation settings a patch must be built with to match that base.
This is orthogonal to #1 (which covers --split-debug-info symbol maps being lost to the inter-ABI flutter clean, a crash-symbolication bug). This issue is about code push applying to obfuscated binaries, not about symbol maps.
Background
--obfuscate reaches the inner per-ABI builds as passthrough, so each ABI's AOT snapshot is compiled obfuscated.
- Obfuscation renames symbols and alters the compiled snapshot. A VM patch is a diff against that snapshot, so the patch's view of the base must match the obfuscated base exactly.
Open questions
- Does a patch built against an obfuscated base apply cleanly on-device?
- Must the patch be built with the same obfuscation settings as the base (expected: yes)? What happens if they differ — clean failure, or silent misapply?
- Is obfuscation deterministic enough across builds that a separately-built patch resolves the same symbols as the shipped base, or does the patch workflow need the base build's artifacts/seed to stay in sync?
Acceptance criteria
Notes
Related: #1
Summary
koolbase releaseforwards--obfuscateto the per-ABI builds, so an obfuscated base binary can be produced. What hasn't been validated is whether a VM patch applies on-device to an obfuscated base — and what obfuscation settings a patch must be built with to match that base.This is orthogonal to #1 (which covers
--split-debug-infosymbol maps being lost to the inter-ABIflutter clean, a crash-symbolication bug). This issue is about code push applying to obfuscated binaries, not about symbol maps.Background
--obfuscatereaches the inner per-ABI builds as passthrough, so each ABI's AOT snapshot is compiled obfuscated.Open questions
Acceptance criteria
koolbase release android --flavor <flavor> -- --obfuscate --split-debug-info=<dir outside build/>Notes
Related: #1