Skip to content

feat: enable r8 minify on release - #1184

Draft
ovitrif wants to merge 7 commits into
masterfrom
feat/enable-r8-minify
Draft

feat: enable r8 minify on release#1184
ovitrif wants to merge 7 commits into
masterfrom
feat/enable-r8-minify

Conversation

@ovitrif

@ovitrif ovitrif commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Closes #1183

This PR enables R8 shrinking on release builds.

Description

  • Turns on the AGP 9.3 optimization block for release, which includes the default Android keep rules.
  • Keeps JNI types from the local Bluetooth AAR and its helper JAR.
  • Sets the Kotlin compiler flag -Xannotation-default-target=param-property.
  • Consumes bitkit-core-android 0.5.9, ldk-node-android 0.7.0-rc.64, vss-client-android 0.5.24, and paykit-android 0.1.0-rc47.

Preview

N/A — build configuration.

QA Notes

Manual Tests

  • 1. Install minified devRelease on medium_phone (ARM64, API 36) → launch: app opens.
  • 2. Terms → Skip Intro → New Wallet: Home is shown.
  • 3. New Wallet → node start: Lightning node is running.
  • 4. Home after node start: on-chain wallet syncs over Electrum SSL.
  • 5. Home after node start: trusted Lightning peer connects.
  • 6. New Wallet → VSS setup: store id is derived.
  • 7. New Wallet → VSS setup: putObject succeeds.
  • 8. Launch → Paykit init: native library loads.
  • 9. Launch → bitkit-core init: native library loads.
  • 10. Launch → Bluetooth init: btleplug initializes.
  • 11. Settings → Hardware Wallets → Add Hardware Wallet: intro sheet opens.
  • 12. Hardware Wallet intro → Continue: BLE scan starts.
  • 13. Home after launch: HTTPS currency rates refresh.
  • 14. Home → Receive: LN receive completes.
  • 15. Home → Send: LN send completes.
  • 16. Home → Receive: on-chain receive completes.
  • 17. Home → Send: on-chain send completes.
  • 18. Contacts → Paykit payment: contact payment completes.
  • 19. Settings → Backup → restore on a new install: VSS restore completes.
  • 20. Settings → Hardware Wallets → connect a real device: wallet pairs.
  • 21. Hardware Wallet → transfer: transfer completes.
  • 22. 16kb-page emulator → install minified devRelease → launch: app opens.

Automated Checks

  • Local verification: just compile, just test, and just lint.
  • R8 configuration analyzer: :app:analyzeDevReleaseR8Config.

@ovitrif ovitrif changed the title chore: enable r8 minify on release feat: enable r8 minify on release Aug 26, 2026
@ovitrif
ovitrif force-pushed the feat/enable-r8-minify branch from 779fee5 to 0d10693 Compare August 26, 2026 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

enable R8 minify for release builds

1 participant