Configuring R8 For Compose

Minimal R8/ProGuard-konfiguration för Compose release-byggen; avvisar alltför breda keep-regler

av skydoves · skydoves/compose-performance-skills

Testad · Fungerar ★ 8.4/10

Configuring R8 For Compose — Minimal R8/ProGuard-konfiguration för Compose release-byggen; avvisar alltför breda keep-regler

Vad den gör

Vägleder konfigurering av R8-minifiering för en Jetpack Compose release-variant: aktivera fullt läge med proguard-android-optimize.txt, slå på minifiering och resurskrympning, och förlita dig på Composes medföljande konsumentregler istället för att lägga till Compose-breda keeps. Utlöses när minifiering först aktiveras, när en PR lägger till en bred keep som `-keep class androidx.compose.** { *; }`, eller när ett release-bygge kraschar efter krympning. Täcker AGP missing_rules.txt-rapporteraren och R8 retrace för att diagnostisera release-krascher.

Testrapport

Hämtade SKILL.md på build/configuring-r8-for-compose/SKILL.md via rå GitHub; frontmatter parsas med name+description, inga skript refererade i texten (självständig), och dess enda repo-relativa korslänk (measurement/testing-compose-in-release-mode/SKILL.md) returnerar HTTP 200. Inga säkerhetsbrister; retrace-kommandon använder $ANDROID_HOME env, inte hårdkodade sökvägar. För utdata skrev jag en trasig konfiguration (proguard-android.txt, -keep androidx.compose.**, -keep kotlin.Metadata, -dontobfuscate) och granskade den två gånger: min baslinje lämnade proguard-android.txt i sin slutliga rekommendation och var osäker på keeps ("ta förmodligen bort om du inte stöter på en krasch"), medan den färdighetsstyrda granskningen bytte till proguard-android-optimize.txt, raderade alla tre rader med per-rad-motivering plus en smal kotlinx.serialization-ersättning, och lade till missing_rules.txt/retrace/APK-analyze-arbetsflödet som baslinjen utelämnade. Dokumentationen förlorar en poäng: påståendet "proguard-android.txt hoppar över R8-optimeringar" och siffrorna 75%/60% anges mer bestämt än vad ett enda citerat Medium-inlägg stöder.

Testad: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/skydoves/compose-performance-skills.git /tmp/configuring-r8-for-compose-src
mkdir -p ~/.claude/skills
cp -R /tmp/configuring-r8-for-compose-src/build/configuring-r8-for-compose ~/.claude/skills/configuring-r8-for-compose
# Pure-knowledge skill (single SKILL.md, no scripts/deps). No external tool needed to use it.
# Repo also ships scripts/install-skills.sh that symlinks all 26 skills into ~/.claude/skills/ if you want the whole set.

Kommandon och exempelprompter

  • /configuring-r8-for-composeMinimal R8/ProGuard-konfiguration för Compose release-byggen; avvisar alltför breda keep-regler

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • Set up R8 full mode for our Compose app
  • Fix our ProGuard keep rules for Compose
  • Enable resource shrinking without breaking Compose