Even with the /home/vagrant path fix and v2/v3-only signing, the verify still failed on a v3 CHUNKED_SHA512 mismatch with an EMPTY file diff. Cause found by byte-level compare: apksigner (build-tools 35+) re-aligns native libs to 16KB pages by default (--alignment-preserved defaults to false), rewriting each .so's ZIP local-header extra field from gradle's 0x0 padding to the 0xd935 alignment marker. F-Droid's reproducibility check compares against the raw gradle output (0x0), so our re-aligned reference (0xd935) differed in the signed bytes though every file was identical. Proven: 273 entries differed only in the extra field, 0 in compressed data. Signing F-Droid's own unsigned build with --alignment-preserved true yields content byte-identical to it (0 extra-field diffs, 0 data diffs). So preserve the build's alignment when signing the reference. |
||
|---|---|---|
| .. | ||
| ci.yml | ||
| release.yml | ||
| site.yml | ||