F-Droid: reproducible release build, signed APK on every release, fastlane metadata; 1.2.0 #33
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
backmeupplz/absplus!33
Loading…
Reference in a new issue
No description provided.
Delete branch "fdroid-reproducible"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gets ABS+ ready for F-Droid with a reproducible build. F-Droid builds each tag itself and publishes our signed APK only if its own unsigned build matches it.
keystore.properties(F-Droid's build server) is unsigned.dependenciesInfo { includeInApk = false }. F-Droid rejects APKs that carry Google's encrypted dependency-info signing block. Play still gets it from the bundle.play.ymlnow also runsassembleReleaseand attaches the signedabsplus-<version>.apkto the GitHub release (same name pattern asabsplus-1.1.2.apk). F-Droid'sBinaries:URL points at it.fastlane/metadata/android/en-USsymlinks the texts, icon, feature graphic and screenshots fromplay/(fdroidserver follows symlinks that stay inside the repo). Onlytitle.txtandchangelogs/5.txtare new files.Checked locally: clean clones of this commit build byte-identical unsigned APKs, a key-signed build has no dependency block in its signing block, and the JDK 17 vs 21 comparison is in the PR comments.
🤖 Generated with Claude Code
Reproducibility check on
d6815a9(macOS, AGP 9.4.1, Gradle 9.8.0):assembleReleasewith no key, using Homebrew OpenJDK 21, 21 again and 17. All three gave the same unsignedapp-release-unsigned.apk, sha2560cfbe7a4e891cf727bbd9d8446fa4e446dd2c1c4e365f1c8b111c02ff8e9611f, so the JDK version doesn't change the bytes. F-Droid's buildserver is Debian trixie withdefault-jdk-headless(JDK 21), andplay.ymluses Temurin 21.apksigcopier compareof the key-signed build against the other clones' unsigned APKs passes for both the JDK 21 and the JDK 17 builds.fdroid rewritemetaandfdroid lintwith trixie's fdroidserver 2.4.2 and ruamel.yaml 0.18.10. That's the version fdroiddata CI installs, and it leaves Mesh+'s accepted metadata unchanged.