Enable R8 for release builds; release 0.5.4 #37

Closed
backmeupplz wants to merge 2 commits from r8-fdroid-143 into main
backmeupplz commented 2026-10-19 14:19:07 +00:00 (Migrated from github.com)

F-Droid's reviewer asked to enable R8 on the inclusion request (https://gitlab.com/fdroid/fdroiddata/-/merge_requests/53005). Release builds now run R8 with isMinifyEnabled and isShrinkResources on the default proguard-android-optimize.txt rules, the same setup ABS+ and Todorant ship on F-Droid. The app needs no keep rules: it has no reflection and no @JavascriptInterface; both WebViews talk to it through androidx.webkit's web message listeners, and androidx.webkit ships its own consumer rules.

Also bumps to 0.5.4 (versionCode 504) so the release can go to the merge request.

Verification notes follow in a comment (local release builds, reproducibility, install check).

F-Droid's reviewer asked to enable R8 on the inclusion request (https://gitlab.com/fdroid/fdroiddata/-/merge_requests/53005). Release builds now run R8 with `isMinifyEnabled` and `isShrinkResources` on the default `proguard-android-optimize.txt` rules, the same setup ABS+ and Todorant ship on F-Droid. The app needs no keep rules: it has no reflection and no `@JavascriptInterface`; both WebViews talk to it through androidx.webkit's web message listeners, and androidx.webkit ships its own consumer rules. Also bumps to 0.5.4 (versionCode 504) so the release can go to the merge request. Verification notes follow in a comment (local release builds, reproducibility, install check).
backmeupplz commented 2026-10-19 14:26:42 +00:00 (Migrated from github.com)

Verification at affc1c4:

  • npm test passes; CI build (strict dependency verification, Linux) and build-apple are green on both heads. R8 needed no new verification-metadata entries.
  • Reproducible: two clean macOS clones and CI's Linux build all produced the same unsigned APK, sha256 43d90ac0243b05652521da233606fd769fa1d28b5c9fde20c2fc647f03266ff6. The APK shrank from 3.2 MB (0.5.3) to 358 KB, and classes.dex from 2.9 MB to 91 KB.
  • R8 config check: no reflection or @JavascriptInterface; androidx.webkit's consumer rules keep its boundary interfaces; resources.txt keeps every resource the app uses (colors, star drawables, icon, theme, data_extraction_rules). There's no baseline profile in the APK.
  • Emulator (API 34): the R8 APK installs and starts with no crash. Its androidx.webkit feature checks run and show the same "needs WebView 140" screen as the published 0.5.3 APK on that image's WebView 113. A newer system image couldn't be downloaded on this host, so the full wallet UI under R8 wasn't exercised live.

After merge: publish v0.5.4; the store workflow moves F-Droid MR !53005 to 0.5.4. Then reply to the reviewer there.

Verification at affc1c4: - `npm test` passes; CI `build` (strict dependency verification, Linux) and `build-apple` are green on both heads. R8 needed no new verification-metadata entries. - Reproducible: two clean macOS clones and CI's Linux build all produced the same unsigned APK, sha256 `43d90ac0243b05652521da233606fd769fa1d28b5c9fde20c2fc647f03266ff6`. The APK shrank from 3.2 MB (0.5.3) to 358 KB, and classes.dex from 2.9 MB to 91 KB. - R8 config check: no reflection or `@JavascriptInterface`; androidx.webkit's consumer rules keep its boundary interfaces; `resources.txt` keeps every resource the app uses (colors, star drawables, icon, theme, `data_extraction_rules`). There's no baseline profile in the APK. - Emulator (API 34): the R8 APK installs and starts with no crash. Its androidx.webkit feature checks run and show the same "needs WebView 140" screen as the published 0.5.3 APK on that image's WebView 113. A newer system image couldn't be downloaded on this host, so the full wallet UI under R8 wasn't exercised live. After merge: publish v0.5.4; the store workflow moves F-Droid MR !53005 to 0.5.4. Then reply to the reviewer there.
backmeupplz commented 2026-10-19 14:29:10 +00:00 (Migrated from github.com)

Duplicate of #36, which landed the same R8 change + 0.5.4 bump (e21176f). Closing.

Duplicate of #36, which landed the same R8 change + 0.5.4 bump (e21176f). Closing.

Pull request closed

Sign in to join this conversation.
No description provided.