Skip to content

Phase 1 APK size: R8, fonts, dead assets (−8.30 MB universal) - #6145

Open
paullinator wants to merge 4 commits into
developfrom
paul/apkSizeOptimization
Open

Phase 1 APK size: R8, fonts, dead assets (−8.30 MB universal)#6145
paullinator wants to merge 4 commits into
developfrom
paul/apkSizeOptimization

Conversation

@paullinator

Copy link
Copy Markdown
Member

Summary

  • Enable R8 minify + shrinkResources, locale resourceConfigurations, and FontAwesome6 vector-icon filter
  • Remove unused sidenav/tabbar/transactions images and tutorial GIFs
  • Drop unused posthog-js; add APK size analysis harness + measured report

Measured (authoritative): origin/develop universal APK 110.88 MB → Phase 1 102.59 MB (−8.30 MB) via bundleRelease → bundletool --mode=universal.

Earlier assembleRelease comparisons overstated savings (−18.6 MB) because DEX is store-uncompressed there but Deflate-compressed in the production universal path.

Commits (independently revertible)

  1. Harness + report
  2. R8 / shrinkResources / locales / FontAwesome6 filter
  3. Dead image/GIF removal
  4. Remove posthog-js

Test plan

  • Clean bundleRelease + bundletool universal APK builds for develop and Phase 1
  • analyze-apk-size --compare develop vs Phase 1
  • Install Phase 1 APK on Pixel 10; launch welcome
  • Create account through PIN/TOS; enable Monero/Zcash/Zano; reach Assets (no Oops!)
  • Fuller wallet matrix / send-receive / QR / Sentry before shipping R8
  • Exclude or configure :uploadSentryProguardMappingsRelease for local placeholder Sentry URL

See docs/apkSizeReport.md.

Made with Cursor

paullinator and others added 4 commits August 6, 2026 21:12
Provide analyze-apk-size / find-unused-images scripts and the
measured develop-vs-Phase1 baselines for reproducible deltas.

Co-authored-by: Cursor <cursoragent@cursor.com>
Turn on minify/shrinkResources with keep rules, trim shipped
locales, and drop unused FontAwesome6 vector-icon fonts.

Co-authored-by: Cursor <cursoragent@cursor.com>
Delete sidenav/tabbar/transactions orphans and drop the unused
walletListSlideTutorialImage theme property.
The app uses posthog-react-native; the web posthog-js package had
no src/ imports.
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.

1 participant