Si votre Capacitor Si votre plugin a cessé de fonctionner après avoir mis à niveau vers Android Gradle Plugin 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 construction du plugin AGP 9
- Erreur de construction du plugin AGP 9
proguard-android.txtnon trouvé- AGP 9
getDefaultProguardFileerreur - Capacitor La construction Android a échoué après la mise à niveau d'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.- Switcher à
proguard-android-optimize.txt. - Reconstruire et vérifier.
La version 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 construction ?
- Qu'est-ce que Capacitor et comment fonctionnent les builds de plugins ?
- Qu'est-ce que __CAPGO_KEEP_0__ Capgo est et pourquoi cela compte pour la fiabilité des releases
- La modification AGP 9 exacte qui brise les anciens modèles de plugin
- Une stratégie de migration sûre pour un dépôt ou plusieurs dépôts
Qu'est-ce que 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 de développement Android SDK pour l'emballage, la réduction, la vérification de l'intégrité et la production de
.aar,.apk, ou.aabdes sorties.
When 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.
What est 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.
Les applications Capacitor comprennent généralement :
- 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 lorsque votre __CAPGO_KEEP_0__ web est correct.
What est code?
est un runtime cross-plateforme qui vous permet de créer des applications iOS/Android avec du Capgo (TypeScript, JavaScript, HTML, CSS) tout en appelant des APIs natives.
Capgo propose des outils autour de la livraison et de l'exploitation de Capacitor :
- Actualisations en temps réel pour les modifications du paquet de l'application web
- Écosystème de plugins et de packages de fonctionnalités natives
- Flux de mise à jour compatibles avec les workflows CI/CD pour les équipes de Capacitor
Même avec des actualisations en temps réel, la stabilité de la construction native n'est pas négociable. Vous avez toujours besoin de constructions Android propres pour :
- Sorties sur l'App Store / Play Store
- Mises à niveau de plugins natives
- Migrations de plateforme SDK
- Intégration de l'équipe et fiabilité de 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.
Why AGP 9 breaks older plugin configurations
De nombreux modèles de plugins ont historiquement utilisé :
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
Dans les configurations AGP 9, cette référence de base légère peut échouer car le fichier ancien n'est plus garanti dans l'emplacement attendu par les anciens modèles/configurations.
Les symptômes typiques incluent des erreurs Gradle pendant assemble, lint, ou build les phases, souvent pointant vers des ressources de base ProGuard manquantes ou des références de fichier par défaut invalides.
Contexte rapide : ProGuard, R8 et les fichiers de base
- R8 is the modern code shrinker/optimizer in Android builds.
proguard-rules.proest vos règles de conservation personnalisées pour le projet/plugin.getDefaultProguardFile(...)injecte une base Android fournie.
Lorsque vous référez :
proguard-android.txt-> legacy, minimal baselineproguard-android-optimize.txt-> ligne de base moderne optimisée (recommandée par défaut dans les configurations actuelles)
Pour une 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 plugins et des modules d'application :
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Vérifiez au minimum :
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. Le remplacez
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
Si votre plugin dispose de scripts de vérification complets, exécutez :
bun run verify
Mettez à jour en bloc toutes les répositories de plugin
Si vous gérez de nombreux répositories 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 suivie 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 disparue des fichiers de source de plugin suivis.
Capgo : statut de déploiement
On a réalisé cette migration dans tous les répositories et modèles officiels de Capgo Capacitor :
- Les modules Android des plugins se réfèrent désormais à
proguard-android-optimize.txt - Les exemples d'applications Android de plugin ont également été mis à jour
- Les modèles de création de plugin ont été mis à jour pour que les nouveaux plugins soient par défaut sécurisés par défaut pour AGP 9
Cela empêche une classe commune d'erreurs de mise à niveau AGP 9 avant qu'elles ne frappent CI.
Pourquoi cela est important même si votre build passe aujourd'hui
Vous ne voyez peut-être pas d'erreurs 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 dev
Mais finalement, des builds propres, de nouveaux environnements ou des exécutants mis à niveau exposent cela. Effectuer la migration maintenant supprime l'instabilité cachée.
Dépannage si les builds échouent encore après le remplacement
Vérifiez ces points :
-
Chaque module est corrigé. 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ôtoires entiers (y compris les scripts Gradle personnalisés).
-
Les caches sont propres. Exécutez
./gradlew cleanet reconstruire. -
Les versions d'AGP / Gradle / JDK sont alignées. Utilisez les combinaisons supportées par la documentation Android pour votre version d'AGP.
-
Le CI utilise les mêmes versions que locales. Fixez les versions de JDK et de wrapper Gradle dans le CI pour éviter la dérive de l'environnement.
-
Vous n'êtes pas seulement en train de corriger
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 corrigez-vous proguard-android.txt non trouvé dans AGP 9?
Remplacez :
getDefaultProguardFile('proguard-android.txt')
Par :
getDefaultProguardFile('proguard-android-optimize.txt')
Effectuez ensuite une reconstruction propre.
Pourquoi ma Capacitor plugin de construction échoue-t-elle après avoir mis à niveau le plugin Android Gradle 9 ?
La plupart des échecs proviennent de la configuration Gradle legacy dans le plugin. android/build.gradle les fichiers qui se réfèrent encore à proguard-android.txt. Les 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 dans l'ensemble du projet, 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 ligne de base de ProGuard obsolètes peut rencontrer des erreurs de construction 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 construction AGP 9
- Plugin Gradle Android 9 manquant de fichier ProGuard
- Capacitor plugin échec de la construction Android
proguard-android.txtremplacementproguard-android-optimize.txtmigration
Lien connexe
- Développeurs Android : Présentation de la construction de votre application
- Plugin Gradle Android : Notes de version
- Android code réduction : R8 et règles
- Documentation Gradle : Principes de base des outils de construction
- Capacitor documentation : Documentation officielle
- Capgo documentation : Documentation de mise à jour automatique
Conclusion finale
Cet problème AGP 9 est simple, mais il est facile à manquer dans les environnements de travail multi-plugin. Une fois que vous remplacez proguard-android.txt par proguard-android-optimize.txt à chaque endroit pertinent, les constructions Android deviennent prévisibles à nouveau.
Si vous utilisez des plugins Capgo, cette migration est déjà appliquée dans les dépôts officiels, vous pouvez donc mettre à niveau avec moins de surprises.
Continuez à partir de la mise à jour de Capacitor Plugin AGP 9 Build Error Fix
Si vous utilisez Capacitor Plugin Erreur de Construction AGP 9 Correction pour planifier l'automatisation de CI/CD, le connecter avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Constructions Natives pour le flux de travail du produit dans Capgo Constructions Natives, 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.