Si votre Capacitor Si votre plugin a cessé de fonctionner après avoir mis à niveau le plugin Gradle Android 9 (AGP 9), vous rencontrez probablement une petite mais critique erreur de configuration Gradle.
Cet article cible spécifiquement les intentions de recherche courantes comme :
- Capacitor erreur de build du plugin AGP 9
- Échec de la build du plugin AGP 9
proguard-android.txtnon trouvé- AGP 9
getDefaultProguardFileerreur - Capacitor échec de la build Android après mise à niveau du AGP
La version courte :
proguard-android.txtn'est plus la référence de base sécurisée par défaut pour les builds de plugins AGP 9.- Passer à
proguard-android-optimize.txt. - Rétablir et vérifier.
La version plus longue compte aussi, surtout si vous gérez de nombreux plugins ou de grands espaces de travail Capacitor. Dans cet article, nous couvrons :
- Qu'est-ce qu'Android et AGP dans la chaîne de build
- Qu'est-ce que Capacitor et comment les builds de plugins fonctionnent
- Qu'est-ce que Capgo est et pourquoi cela compte pour la fiabilité des releases
- Le changement exact AGP 9 qui brise les anciens modèles de template de plugin
- Une stratégie de migration sûre pour un dépôt ou plusieurs dépôts
Qu'est-ce que l'Android dans ce contexte ?
Android est à la fois un système d'exploitation et un écosystème de construction. Lorsque vous envoyez une application ou un plugin Capacitor sur Android, votre projet passe par :
- Gradle comme système de construction.
- Android Gradle Plugin (AGP) comme intégration Gradle spécifique à Android.
- Le kit d'outils Android SDK pour l'emballage, la réduction, la vérification de la conformité et la production de
.aar,.apk, ou.aabsorties.
Lorsque les versions d'AGP changent, certaines valeurs par défaut et des fichiers internes peuvent changer également. Une configuration de plugin qui fonctionnait pour AGP 8 peut ne pas fonctionner avec AGP 9 si elle pointe vers une ligne de base supprimée ou obsolète.
Qu'est-ce que Capacitor ?
Capacitor est un runtime cross-plateforme qui vous permet de créer des applications iOS/Android avec du code (TypeScript, JavaScript, HTML, CSS) tout en appelant des APIs natives.
Capacitor
- Une couche web (votre interface utilisateur et logique métier)
- Des coques natives (
ios/,android/) - Des plugins qui exposent des fonctionnalités natives au JavaScript
Chaque plugin a sa propre configuration de build native. Sur Android, cela signifie que chaque plugin inclut un android/build.gradle Si les paramètres Gradle des plugins sont obsolètes, la construction de l'application entière peut échouer, même si votre __CAPGO_KEEP_0__ web est correct.
Qu'est-ce que code?
Capgo
propose des outils autour de la livraison et de l'exploitation de Capgo : Capacitor
- Actualisations en direct pour les modifications du bundle web
- Écosystème de plugins et packages de fonctionnalités natives
- Flux de mise à jour compatibles CI/CD pour les Capacitor équipes
Même avec des actualisations en direct, la stabilité de la construction native n'est pas négociable. Vous avez toujours besoin de constructions Android propres pour :
- Sorties App Store / Play Store
- Mises à niveau de plugins natives
- Migrations de plateforme SDK
- Fonctionnalités d'abordage de l'équipe et fiabilité CI
C'est pourquoi les correctifs de compatibilité AGP 9 sont importants : ils gardent votre couche de plugin fiable afin que les pipelines de livraison restent prévisibles.
Pourquoi AGP 9 brise les anciens fichiers de configuration de plugin
Beaucoup de modèles de plugins ont utilisé historiquement :
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
In les configurations AGP 9, cette référence de ligne de base legacy peut échouer car le fichier ancien n'est plus garanti à l'emplacement attendu par les anciens modèles/configs.
Les symptômes typiques incluent des erreurs Gradle pendant assemble, lint, ou build les phases, souvent pointant vers des ressources de ligne de base ProGuard manquantes ou des références de fichier par défaut invalides.
Contexte rapide : ProGuard, R8 et les fichiers de ligne de base
- R8 est le compresseur/optimiseur moderne de code dans les builds Android.
proguard-rules.proest vos règles de conservation personnalisées pour le projet/plugin.getDefaultProguardFile(...)injecte une ligne de base Android fournie.
Lorsque vous référez :
proguard-android.txt-> ligne de base legacy, minimaleproguard-android-optimize.txt-> ligne de base optimisée moderne (défaut recommandé dans les configurations actuelles)
Pour la compatibilité avec AGP 9, passer à proguard-android-optimize.txt est la solution pratique.
La solution de correction en une ligne
Mettez à jour les fichiers Gradle des modules de plugin et d'application :
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Au minimum, vérifiez :
android/build.gradledans chaque pluginexample-app/android/app/build.gradledans les dépôts de plugins- Tous les fichiers de générateur/modèle qui créent de nouvelles configurations Gradle de plugin
Guide de migration pour un plugin
1. Trouvez la référence ancienne
rg -n "proguard-android\\.txt" android example-app
2. Remplacez-la
perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g" \
android/build.gradle example-app/android/app/build.gradle
3. Vérifiez avec Bun
bun run verify:android
If votre plugin dispose de scripts de vérification complète, exécutez :
bun run verify
Mise à jour de masse de tous les dépôts de plugin
Si vous gérez de nombreux dépôts de plugin dans un même espace de travail, automatissez-le :
rg -l "proguard-android\\.txt" capacitor-* \
--glob '!**/node_modules/**' \
--glob '!**/.gradle/**' \
--glob '!**/build/**' \
| xargs perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g"
Vérifiez ensuite que aucune source de plugin suivi n'utilise toujours le fichier ancien :
for d in capacitor-*; do
[ -d "$d/.git" ] || continue
git -C "$d" grep -n "proguard-android\\.txt" -- || true
done
Pas de correspondance signifie que la référence de base ancienne est partie de fichiers de plugin suivis.
Capgo statut de déploiement
Nous avons effectué cette migration dans tous les dépôts de plugin officiels Capgo Capacitor et les modèles :
- Les modules Android des plugins se réfèrent désormais à
proguard-android-optimize.txt - Les applications Android d'exemple des plugins ont également été mises à jour
- Les modèles de création de plugins ont été mis à jour afin que les nouveaux plugins soient par défaut AGP 9-sûrs
Cela empêche une classe courante d'erreurs d'amélioration AGP 9 avant qu'elles ne rencontrent la CI.
Pourquoi cela est-il important même si votre build passe aujourd'hui
Vous ne voyez peut-être pas les échecs immédiatement si :
- Votre cache CI masque toujours l'issue
- Vous avez des versions AGP mixtes dans les projets
- Seuls certains modules sont reconstruits en local de développement
Mais finalement, les builds propres, les nouveaux environnements ou les exécuteurs mis à jour révèlent cela. Effectuer la migration maintenant supprime l'instabilité cachée.
Résoudre les problèmes si les builds échouent encore après le remplacement
Vérifiez ces points :
-
Tous les modules sont patchés. Regardez les modules de plugin, les modules d'application, les exemples et les actifs de modèle.
-
Il n'y a pas de deuxième référence dans les scripts partagés. Recherchez les dépôts entiers (y compris les scripts Gradle personnalisés).
-
Les caches sont propres. Exécutez et reconstruirez.
./gradlew cleanLes versions AGP / Gradle / JDK sont alignées. Utilisez les combinaisons supportées par la documentation Android pour votre version AGP. -
AGP / Gradle / JDK versions are aligned. Use combinations supported by Android documentation for your AGP version.
-
Les CI utilisent les mêmes versions que locales. Fixez les versions de JDK et du wrapper Gradle dans CI pour éviter la dérive de l'environnement.
-
Vous ne patchez que
node_modules. Fixez la source du plugin suivi, pas les répertoires de dépendances transitoires.
FAQ SEO : erreurs de construction du plugin AGP 9 Capacitor
Comment puis-je fixer proguard-android.txt n'est pas trouvé dans AGP 9?
Remplacez:
getDefaultProguardFile('proguard-android.txt')
Par:
getDefaultProguardFile('proguard-android-optimize.txt')
Effectuez ensuite une reconstruction propre.
Pourquoi ma Capacitor construction du plugin échoue après avoir mis à niveau le plugin Android Gradle vers 9?
La plupart des échecs proviennent de la configuration Gradle legacy dans les fichiers de plugin android/build.gradle qui référencent toujours proguard-android.txt. Projets AGP 9 doivent utiliser proguard-android-optimize.txt.
Quel est le chemin de migration AGP 9 le plus rapide pour de nombreux Capacitor plugins ?
Utilisez une commande de recherche et de remplacement à l'échelle de l'espace de travail, puis validez avec git grep et exécutez bun run verify:android sur des plugins représentatifs.
Est-ce que cela ne concerne que des Capacitor problèmes ?
Non. Toute module Android (application ou bibliothèque) utilisant des références de ProGuard dépréciées dans les fichiers de base peut rencontrer des erreurs de build AGP 9 similaires. C'est particulièrement visible dans les écosystèmes de plugins car de nombreux dépôts partagent des modèles anciens.
Quels mots-clés sont pertinents pour cette migration ?
Si vous documentez cela dans des livres de run ou des pages de support, incluez des termes comme :
- Erreur de build AGP 9
- Fichier ProGuard Android Gradle Plugin 9 manquant
- Capacitor plugin Android build échoué
proguard-android.txtremplacementproguard-android-optimize.txtmigration
Liens connexes
- Développeurs Android : Présentation de la construction de votre application
- Plugin Android Gradle : Notes de version
- Android code réduction : R8 et règles
- Documentation Gradle : Fondamentaux des outils de construction
- Capacitor documentation : Documentation officielle
- Capgo docs : Documentation d'actualisation automatique
Conclusion finale
Cette erreur de build AGP 9 est simple, mais elle est facile à manquer dans les environnements de travail multi-plugin. Une fois que vous remplacez proguard-android.txt avec proguard-android-optimize.txt partout où cela est pertinent, les builds Android deviennent prévisibles à nouveau.
If you use Capgo plugins, this migration is already applied in official repositories so you can upgrade with fewer surprises.
Capacitor
ce processus de migration est déjà appliqué dans les dépôts officiels, vous pouvez donc mettre à niveau avec moins de surprises. Continuez à partir de la mise à jour de l'erreur de build AGP 9 du plugin Capacitor Si vous utilisez le plugin AGP 9 Build Error Fix pour planifier l'automatisation de CI/CD, connectez-l’avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Builds natifs pour le flux de travail du produit dans Capgo Builds natifs, Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, Intégration CI/CD pour les détails d'implémentation dans Intégration CI/CD, et GitHub Intégration d'actions pour les détails d'implémentation dans GitHub Intégration d'actions.