Configuring R8 For Compose

Configuración mínima de R8/ProGuard para compilaciones de lanzamiento de Compose; rechaza reglas keep demasiado amplias

Por skydoves · skydoves/compose-performance-skills

Probado · Funciona ★ 8.4/10

Configuring R8 For Compose — Configuración mínima de R8/ProGuard para compilaciones de lanzamiento de Compose; rechaza reglas keep demasiado amplias

Qué hace

Guía la configuración de la minificación de R8 para una variante de lanzamiento de Jetpack Compose: habilita el modo completo con proguard-android-optimize.txt, activa la minificación y la reducción de recursos, y confía en las reglas de consumidor incluidas de Compose en lugar de añadir reglas keep amplias de Compose. Se activa al habilitar la minificación por primera vez, cuando un PR añade una regla keep amplia como `-keep class androidx.compose.** { *; }`, o cuando una compilación de lanzamiento falla después de la reducción. Cubre el reportero AGP missing_rules.txt y R8 retrace para diagnosticar fallos de lanzamiento.

Informe de la prueba

SKILL.md obtenido en build/configuring-r8-for-compose/SKILL.md vía raw GitHub; el frontmatter se analiza con name+description, sin scripts referenciados en el cuerpo (autocontenido), y su único enlace cruzado relativo al repositorio (measurement/testing-compose-in-release-mode/SKILL.md) devuelve HTTP 200. Sin problemas de seguridad; los comandos retrace usan $ANDROID_HOME env, no rutas codificadas. Para la salida, escribí una configuración rota (proguard-android.txt, -keep androidx.compose.**, -keep kotlin.Metadata, -dontobfuscate) y la revisé dos veces: mi línea base dejó proguard-android.txt en su recomendación final y dudó sobre los keeps ("probablemente eliminar a menos que encuentres un fallo"), mientras que la revisión guiada por la habilidad cambió a proguard-android-optimize.txt, eliminó las tres líneas con justificación por línea más un reemplazo estrecho de kotlinx.serialization, y añadió el flujo de trabajo missing_rules.txt/retrace/APK-analyze que la línea base omitió. La documentación pierde un punto: la afirmación de que "proguard-android.txt omite las optimizaciones de R8" y las cifras del 75%/60% se exponen con más firmeza de lo que un único post de Medium citado respalda.

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

Instalación

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.

Comandos y prompts de ejemplo

  • /configuring-r8-for-composeConfiguración mínima de R8/ProGuard para compilaciones de lanzamiento de Compose; rechaza reglas keep demasiado amplias

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

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