Skip to content

fix: enable Android release code obfuscation and resource shrinking - #762

Merged
wyne merged 1 commit into
mainfrom
codex/android-release-optimization
Sep 12, 2026
Merged

wyne merged 1 commit into
mainfrom
codex/android-release-optimization

Conversation

@wyne

@wyne wyne commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Google Play reports only 1% DEX obfuscation for release 3.2.0. Enable Android release minification through expo-build-properties so R8 can shrink and obfuscate native code, and enable unused-resource shrinking. These settings apply to release builds, including preview builds used for validation.

Validation: Expo config introspection confirms both generated Android Gradle properties are true; git diff --check passes. An Android release build and device smoke test are still needed before publishing, and the resulting Play optimization percentage has not been measured. The separate edge-to-edge dependency warning is not resolved by this change.

@github-actions

Copy link
Copy Markdown
Contributor

Coverage after merging codex/android-release-optimization into main will be

64.97%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
redux
   GamesSlice.ts59.90%35.42%63.33%69.30%104–105, 105, 105, 107, 115–116, 116, 116, 118, 126, 148, 173–175, 190, 220, 227, 229, 232–234, 298, 311, 320–321, 321, 321, 327, 327, 327–328, 330, 332–333, 336, 336, 336, 336, 336–337, 340–341, 343, 345, 345, 345, 345, 345–346, 348, 348, 348, 350–351, 354, 354, 354, 356, 58, 69, 86, 91–92, 92, 92
   PlayersSlice.ts88.04%95%85.71%86.27%105, 107, 115, 35, 52–53, 70–71
   SettingsSlice.ts61.54%66.67%55%65.38%103, 106, 111, 117, 61, 64, 70, 73, 76, 88, 97
   backup.ts78.19%75.19%88.89%80.21%105, 105, 128–130, 138, 174–175, 177, 191–195, 197, 197, 197–198, 203, 206, 217, 227–228, 244, 58–63, 65, 68, 68–70, 70, 70–71, 71, 71, 73–74, 76–78, 80–81, 81–82, 88–89
   hooks.ts100%100%100%100%
   scoreUtils.ts93.33%87.50%100%100%5
   selectors.ts100%100%100%100%
   store.ts0%0%0%0%10, 12, 12, 12–13, 13, 13–15, 18, 21–23, 23, 23, 23, 23–24, 29, 33, 60, 67, 74, 81, 99
   testStore.ts0%100%0%0%11–15, 20–23, 25, 42–44, 5
src
   Analytics.ts100%100%100%100%
   AnalyticsEvents.ts100%100%100%100%
   ColorPalette.ts100%100%100%100%
   Logger.ts91.23%87.50%81.82%94.74%14–15, 22
   Navigation.tsx82.35%80%66.67%88.89%104–105, 49, 53, 95, 98
   constants.ts100%100%100%100%
   platform.ts100%100%100%100%
   theme.ts93.75%85.71%100%100%85
src/components
   EditGame.tsx79.63%75%66.67%84.85%35, 49, 62–63, 86, 86, 86–87
   FloatingActionButton.tsx95.24%100%92.31%96%47
   GameListItem.tsx94.19%85.29%100%100%122, 155, 25, 31, 58
   GameListItemPlayerName.tsx100%100%100%100%
   MenuOpenContext.tsx87.50%100%66.67%100%
   PlayerListItem.tsx0%0%0%0%123, 123, 134, 24, 32–34, 34, 34–38, 40, 40, 40, 40, 40–41, 41, 41–42, 42, 42, 44–45, 56, 63–64, 66, 72–73, 76, 79, 82–83, 90, 93, 93, 96, 96, 96–97, 99
   ScoreLogTable.tsx90.91%80%100%96.67%51, 53, 55, 55, 64, 70
   SectionLabel.tsx100%100%100%100%
   SplashOverlay.tsx0%0%0%0%22–24, 24, 24, 26–28, 30, 32–33, 35, 37, 40, 40, 40, 43, 49, 53, 58, 74
src/components/AppInfo
   RotatingIcon.tsx0%0%0%0%18–19, 21–24, 26, 28–30, 37–38, 40, 40, 40–41, 44, 44, 44–48, 51, 53–54, 59
   SeedData.ts0%100%0%0%17, 47, 49–50, 52, 54–56, 58–60, 62, 68, 71, 82–85
src/components/BigButtons
   BigButton.tsx0%0%0%0%18, 18–20, 22–23, 23, 25, 25–26, 26, 48
src/components/Boards
   ListBoard.tsx86.81%72.73%84.21%98.57%123, 180, 206–207, 220, 223, 262, 29, 33, 59–61, 84, 84, 88, 92
   PlayerTile.tsx0%0%0%0%29, 38–42, 42, 42–43, 43, 43, 43, 43–44, 44, 44–46, 46, 46, 48–50, 50, 50, 52, 55, 55, 59–60, 63–64, 66, 68, 68, 68, 68, 68–69, 69, 69, 69, 69, 71, 81, 81, 98
   TileBoard.tsx96.43%90.32%100%100%18, 77, 93
src/components/Buttons
   AppSettingsButton.tsx100%100%100%100%
   GameOptionsButton.tsx51.85%42.86%69.23%54.72%102, 122, 122, 122–123, 125–126, 130, 130, 130, 130, 130, 130, 130, 132–133, 135–136, 138–139, 141–144, 146–148, 150–152, 159, 165–166, 177, 179, 179, 185, 185, 185, 185, 40, 46, 48, 58, 65, 73, 94, 98
   HeaderButton.tsx81.82%60%100%100%19–20
src/components/ColorPalettes
   ColorSelector.tsx100%100%100%100%
   PalettePreview.tsx0%0%0%0%10–12, 14, 19, 19, 25
   PaletteSelector.tsx0%0%0%0%13, 15–18, 20, 22, 22, 22, 24–25, 31, 37, 40, 45, 56
src/components/Headers
   RoundHeaderTitle.tsx0%0%0%0%101–102, 106, 114, 114, 114, 117, 122, 122, 137, 146, 148, 148–149, 149, 149, 15–16, 164, 166, 166–167, 167, 167, 17, 176, 176, 176–177, 179, 179, 185, 185, 19, 193, 193, 193, 195, 195,

@wyne
wyne merged commit 16a9f16 into main Sep 12, 2026
8 checks passed
@wyne
wyne deleted the codex/android-release-optimization branch September 12, 2026 21:18
@wyne wyne mentioned this pull request Sep 12, 2026
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