Configuring R8 For Compose

Minimalna konfiguracja R8/ProGuard dla kompilacji Compose release; odrzuca zbyt szerokie reguły keep

Autor: skydoves · skydoves/compose-performance-skills

Testowano · Działa ★ 8.4/10

Configuring R8 For Compose — Minimalna konfiguracja R8/ProGuard dla kompilacji Compose release; odrzuca zbyt szerokie reguły keep

Co robi ten skill

Prowadzi konfigurację minifikacji R8 dla wariantu wydania Jetpack Compose: włącz pełny tryb z proguard-android-optimize.txt, włącz minifikację i zmniejszanie zasobów oraz polegaj na wbudowanych regułach konsumenckich Compose zamiast dodawać ogólne reguły keep dla Compose. Uruchamia się przy pierwszym włączeniu minifikacji, gdy PR dodaje szeroką regułę keep, taką jak `-keep class androidx.compose.** { *; }`, lub gdy kompilacja wydania ulega awarii po zmniejszeniu. Obejmuje reporter AGP missing_rules.txt i R8 retrace do diagnozowania awarii wydania.

Raport z testu

Pobrano SKILL.md z build/configuring-r8-for-compose/SKILL.md przez raw GitHub; frontmatter parsuje z name+description, brak skryptów odwołanych w treści (samodzielny), a jego jedno repozytoryjne odwołanie (measurement/testing-compose-in-release-mode/SKILL.md) zwraca HTTP 200. Brak zagrożeń bezpieczeństwa; komendy retrace używają zmiennej środowiskowej $ANDROID_HOME, a nie sztywno zakodowanych ścieżek. Dla wyjścia napisałem uszkodzoną konfigurację (proguard-android.txt, -keep androidx.compose.**, -keep kotlin.Metadata, -dontobfuscate) i przejrzałem ją dwukrotnie: mój punkt odniesienia pozostawił proguard-android.txt w końcowej rekomendacji i wahał się co do reguł keep („prawdopodobnie usuń, chyba że wystąpi awaria”), podczas gdy przegląd prowadzony przez umiejętność przełączył się na proguard-android-optimize.txt, usunął wszystkie trzy linie z uzasadnieniem dla każdej z nich oraz wąską zamianę kotlinx.serialization, a także dodał pominięty przez punkt odniesienia przepływ pracy missing_rules.txt/retrace/APK-analyze. Dokumentacja traci punkt: twierdzenie „proguard-android.txt pomija optymalizacje R8” oraz wartości 75%/60% są podane bardziej stanowczo, niż wspiera to pojedynczy cytowany post na Medium.

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

Instalacja

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.

Komendy i przykładowe prompty

  • /configuring-r8-for-composeMinimalna konfiguracja R8/ProGuard dla kompilacji Compose release; odrzuca zbyt szerokie reguły keep

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

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