Configuring R8 For Compose

Configuration minimale de R8/ProGuard pour les builds de release Compose ; rejette les règles de conservation trop larges

par skydoves · skydoves/compose-performance-skills

Testé · Fonctionne ★ 8.4/10

Configuring R8 For Compose — Configuration minimale de R8/ProGuard pour les builds de release Compose ; rejette les règles de conservation trop larges

Ce que fait

Guide la configuration de la minification R8 pour une variante de release Jetpack Compose : activer le mode complet avec proguard-android-optimize.txt, activer la minification et la réduction des ressources, et s'appuyer sur les règles de consommateur intégrées de Compose au lieu d'ajouter des règles de conservation générales pour Compose. Se déclenche lors de la première activation de la minification, lorsqu'une PR ajoute une règle de conservation large comme `-keep class androidx.compose.** { *; }`, ou lorsqu'un build de release plante après la réduction. Couvre le rapporteur AGP missing_rules.txt et R8 retrace pour diagnostiquer les plantages de release.

Rapport de test

SKILL.md a été récupéré à build/configuring-r8-for-compose/SKILL.md via raw GitHub ; le frontmatter est analysé avec name+description, aucun script n'est référencé dans le corps (autonome), et son unique lien croisé relatif au dépôt (measurement/testing-compose-in-release-mode/SKILL.md) renvoie HTTP 200. Pas de failles de sécurité ; les commandes retrace utilisent la variable d'environnement $ANDROID_HOME, pas des chemins codés en dur. Pour la sortie, j'ai écrit une configuration cassée (proguard-android.txt, -keep androidx.compose.**, -keep kotlin.Metadata, -dontobfuscate) et l'ai examinée deux fois : ma version de base a laissé proguard-android.txt dans sa recommandation finale et a hésité sur les règles de conservation ("probablement à supprimer sauf en cas de crash"), tandis que la révision guidée par la compétence est passée à proguard-android-optimize.txt, a supprimé les trois lignes avec une justification par ligne plus un remplacement étroit de kotlinx.serialization, et a ajouté le workflow missing_rules.txt/retrace/APK-analyze que la version de base avait omis. La documentation perd un point : l'affirmation selon laquelle "proguard-android.txt ignore les optimisations R8" et les chiffres de 75%/60% sont énoncés avec plus de fermeté qu'un seul article Medium cité ne le justifie.

Testé le: 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.

Commandes et exemples de prompts

  • /configuring-r8-for-composeConfiguration minimale de R8/ProGuard pour les builds de release Compose ; rejette les règles de conservation trop larges

Les skills se déclenchent sur des demandes en langage courant — aucune commande à retenir. Après installation, des prompts comme ceux-ci l'activent (en anglais) :

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