Wenn Ihr Capacitor Plugin-Installationen nach dem Upgrade auf Android Gradle Plugin 9 (AGP 9) fehlschlagen, ist wahrscheinlich ein kleines, aber kritischer Gradle-Konfigurationsproblem vorliegend.
Dieser Beitrag richtet sich speziell auf häufige Suchabsichten wie:
- Capacitor-Plugin-Baufehler AGP 9
- Android-Gradle-Plugin-9-Plugin-Bau fehlgeschlagen
proguard-android.txtnicht gefunden- AGP 9
getDefaultProguardFileFehler - Capacitor-Android-Bau fehlgeschlagen nach AGP-Upgrade
Die kurze Version:
proguard-android.txtist nicht mehr die sichere Standardbasis, auf die sich in AGP 9-Plugin-Builds verweisen sollte.- Wechseln Sie zu
proguard-android-optimize.txt. - Neu erstellen und überprüfen.
Die längere Version ist auch wichtig, insbesondere wenn Sie viele Plugins oder große Capacitor-Arbeitsbereiche verwalten. In diesem Artikel behandeln wir:
- Was Android und AGP in der Build-Kette sind
- Was Capacitor ist und wie Plugin-Builds funktionieren
- Was Capgo ist und warum dies für die Verlässlichkeit von Releases wichtig ist
- Die genaue AGP 9-Änderung, die alte Plugin-Vorlagen bricht
- Eine sichere Migrationstrategie für einen Repository oder viele Repositories
Was ist Android in diesem Kontext?
Android ist sowohl ein Betriebssystem als auch ein Build-Ökosystem. Wenn Sie eine Capacitor-Anwendung oder ein Plugin auf Android bereitstellen, durchläuft Ihr Projekt:
- Gradle als Build-System.
- Android-Gradle-Plugin (AGP) als Android-spezifische Gradle-Integration.
- Die Android-SDK-Toolkette für das Paketieren, Komprimieren, Überprüfen und Erzeugen von
.aar,.apk, oder.aabAusgaben.
Wenn sich die AGP-Version ändert, können sich auch einige Standards und interne Dateien ändern. Eine Plugin-Konfiguration, die für AGP 8 funktioniert hat, kann bei AGP 9 fehlschlagen, wenn sie auf eine entfernte oder veraltete Basis verweist.
Was ist Capacitor?
Capacitor ein plattformübergreifender Laufzeitumgebung, die Ihnen ermöglicht, iOS/Android-Anwendungen mit Web-code (TypeScript, JavaScript, HTML, CSS) zu erstellen, während Sie noch native APIs aufrufen.
Capacitor-Anwendungen umfassen normalerweise:
- Eine Web-Schicht (Ihre Benutzeroberfläche und Geschäftslogik)
- Native-Shell-Programme (
ios/,android/) - Plugins, die native Funktionen für JavaScript bereitstellen
Jeder Plugin hat seine eigene native Build-Konfiguration. Auf Android bedeutet dies, dass jeder Plugin eine Datei enthält, die AGP parsen und korrekt kompilieren muss. android/build.gradle Wenn die Gradle-Einstellungen der Plugins veraltet sind, kann die gesamte App-Build fehlschlagen, selbst wenn Ihre Web-__CAPGO_KEEP_0__ korrekt ist.
Was ist code?
Capgo
bietet Werkzeuge rund um die Capgo-Lieferung und -Betriebsweise: provides tools around Capacitor delivery and operations:
- Live Updates zum Web-Bundle-Update
- Plugin-Ökosystem und native Funktionspakete
- CI/CD-gerechte Update-Workflows für Capacitor-Teams
Selbst bei Live-Updates ist die Stabilität der nativen Builds nicht verhandelbar. Sie benötigen immer noch saubere Android-Builds für:
- App Store / Play Store-Veröffentlichungen
- Native-Plugin-Updates
- Plattform SDK-Migrationen
- Team-Onboarding und CI-Verlässlichkeit
Deshalb sind AGP 9-Kompatibilitätsfixes wichtig: Sie halten Ihre Plugin-Schicht vertrauenswürdig, damit Lieferpipelines vorhersehbar bleiben.
Weshalb AGP 9 ältere Plugin-Konfigs bricht
Viele Plugin-Vorlagen verwendeten historisch:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
In AGP 9-Systemen kann diese Legacy-Baseline-Referenz fehlschlagen, weil das alte Datei nicht mehr in der erwarteten Lage garantiert wird.
Häufige Symptome umfassen Gradle-Fehler während assemble, lintoder build Phasen, oft auf fehlende ProGuard-Baseline-Ressourcen oder ungültige Standarddateverweise hinweisend.
Rückblick: ProGuard, R8 und Baseline-Dateien
- R8 is the modern code shrinker/optimizer in Android builds.
proguard-rules.proShrinker/Optimierer in Android-Builds.getDefaultProguardFile(...)beschreibt Ihre Projekt/Plugin-Custom-Keep-Regeln.
fügt eine Android-basierte Basis ein.
proguard-android.txtWenn Sie auf Folgendes verweisen:proguard-android-optimize.txt-> Legacy-Minimal-Baseline
Für die Kompatibilität mit AGP 9 ist der Wechsel zu proguard-android-optimize.txt ist die praktische Lösung.
Die einezeilige Lösung
Aktualisieren Sie die Plugin- und App-Modul-Gradle-Dateien:
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Mindestens sollten Sie folgende Überprüfungen durchführen:
android/build.gradleim jeweiligen Pluginexample-app/android/app/build.gradleim Plugin-Repository- Jeder Generator/Template-Datei, die neue Plugin-Gradle-Konfiguration erstellt
Migrationshinweis für ein Plugin
1. Finden Sie die alte Referenz
rg -n "proguard-android\\.txt" android example-app
2. Ersetzen Sie sie
perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g" \
android/build.gradle example-app/android/app/build.gradle
3. Überprüfen Sie mit Bun
bun run verify:android
If Ihr Plugin vollständige Verifizierungs-Skripte enthält, führen Sie Folgendes aus:
bun run verify
Batch-Update aller Plugin-Repositories
Wenn Sie viele Plugin-Repositorys in einem Workspace verwalten, automatisieren Sie es:
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"
Dann überprüfen Sie, ob noch ein verfolgtes Plugin-Quellcode das alte Datei verwendet:
for d in capacitor-*; do
[ -d "$d/.git" ] || continue
git -C "$d" grep -n "proguard-android\\.txt" -- || true
done
Keine Übereinstimmungen bedeuten, dass die alte Basisreferenz aus den verfolgten Plugin-Dateien entfernt wurde.
Capgo Rollout-Status
Wir haben diese Migration in allen offiziellen Capgo Capacitor Plugin-Repositorys und -Vorlagen durchgeführt:
- Plugin-Android-Module verweisen nun auf
proguard-android-optimize.txt - Plugin-Beispiel-Android-Anwendungen wurden ebenfalls aktualisiert
- Plugin-Scaffolding-Vorlagen wurden aktualisiert, so dass neue Plugins standardmäßig AGP 9-sicher sind
Dies verhindert eine häufige Klasse von AGP 9-Aufwärtsfehler vorher, bevor sie CI treffen.
Warum dies wichtig ist, auch wenn Ihr Build heute noch erfolgreich ist
Sie sehen möglicherweise keine Fehler sofort, wenn:
- Ihr CI-Cache verdeckt noch immer das Problem.
- Sie haben gemischte AGP-Versionen in verschiedenen Projekten.
- Nur einige Module werden in der lokalen Entwicklungsumgebung neu erstellt.
Aber letztendlich werden saubere Builds, neue Umgebungen oder aktualisierte Runner das Problem offenlegen. Die Durchführung der Migration jetzt entfernt versteckte Instabilität.
Troubleshooting, wenn Builds nach dem Austausch weiterhin fehlschlagen
Überprüfen Sie diese Punkte:
-
Jedes Modul ist gepatcht. Betrachten Sie Plugin-Module, Anwendungs-Module, Beispiele und Vorlagen-Assets.
-
Es gibt keine zweite Referenz in gemeinsam genutzten Skripten. Suchen Sie in der gesamten Repository (einschließlich benutzerdefinierter Gradle-Skripte) nach.
-
Die Caches sind sauber. Führen Sie
./gradlew cleanund erstellen Sie neu. -
AGP / Gradle / JDK-Versionen sind synchronisiert. Verwenden Sie kombinierungen, die von der Android-Dokumentation für Ihre AGP-Version unterstützt werden.
-
CI verwendet die gleichen Versionen wie lokale. JDK- und Gradle-Wrapper-Versionen in CI festlegen, um Umgebungsdrift zu vermeiden.
-
Sie patchen nicht nur
node_modules. Fixen Sie die Quelle des verfolgten Plugins und nicht die transienten Abhängigkeitsverzeichnisse.
SEO FAQ: AGP 9 Capacitor Plugin-Baufehler
Wie kann ich __CAPGO_KEEP_0__ proguard-android.txt nicht gefunden in AGP 9?
Ersetzen Sie:
getDefaultProguardFile('proguard-android.txt')
Mit:
getDefaultProguardFile('proguard-android-optimize.txt')
Dann führen Sie einen sauberen Neubau durch.
Warum funktioniert mein Capacitor Plugin nicht, nachdem ich auf Android Gradle Plugin 9 aktualisiert habe?
Die meisten Fehler kommen von der veralteten Gradle-Konfiguration in den Plugin-Dateien, die sich noch auf android/build.gradle files that still reference proguard-android.txt. AGP 9-Projekte sollten proguard-android-optimize.txt.
Was ist der schnellste Weg zur Migration von vielen Capacitor-Plugins für AGP 9?
Verwenden Sie einen workspace-weiten Such- und Ersetzungs-Befehl, dann überprüfen Sie mit git grep und führen Sie bun run verify:android aus, um repräsentative Plugins zu überprüfen.
Gilt dies nur für Capacitor-Probleme?
Nein. Jedes Android-Modul (Anwendung oder Bibliothek), das veraltete ProGuard-Baselinereferenzen verwendet, kann ähnliche Fehler bei der AGP 9-Kompilierung auftreten. Dies ist insbesondere in Plugin-Ökosystemen sichtbar, weil viele Repositories alte Templates teilen.
Welche Schlüsselwörter sind für diese Migration relevant?
Wenn Sie dies in internen Runbooks oder Unterstützungsseiten dokumentieren, sollten Sie Begriffe wie:
- AGP 9-Kompilierungsfehler
- Android-Gradle-Plugin 9 ProGuard-Datei fehlt
- Capacitor-Plugin-Android-Kompilierung fehlgeschlagen
proguard-android.txtErsetzungproguard-android-optimize.txtMigration
Verwandte Links
- Android-Entwickler: Übersicht über die App-Buildung
- Android-Gradle-Plugin: Release-Hinweise
- Android code-Verkleinerung: R8 und Regeln
- Gradle-Dokumentation: Grundlagen der Build-Tools
- Capacitor-Dokumentation: Offizielles Dokumentation
- Capgo Dokumentation: Auto-Update-Dokumentation
Zusammenfassung
Bei diesem AGP 9-Problemen handelt es sich um ein einfaches, aber leicht zu übersehendes Problem in Workspaces mit mehreren Plugins. Sobald Sie __CAPGO_KEEP_0__ durch ersetzen proguard-android.txt mit proguard-android-optimize.txt überall relevant, werden Android-Builds wieder vorhersehbar.
Wenn Sie Capgo-Plugins verwenden, ist diese Migration bereits in den offiziellen Repositories angewendet, sodass Sie mit weniger Überraschungen aufsteigen können.
Fortsetzen Sie von Capacitor Plugin AGP 9 Build Error Fix
Wenn Sie __CAPGO_KEEP_0__ Plugin AGP 9 Build Error Fix verwenden Capacitor Plugin AGP 9 Build Error Fix __CAPGO_KEEP_0__ Plugin AGP 9 Build Error Fix Capgo CI/CD zur Produktworkflow in Capgo CI/CD Capgo Native Builds zur Produktworkflow in Capgo Native Builds Capgo Integrations zur Produktworkflow in Capgo Integrations CI/CD-Integration zur Implementierungsdetail in CI/CD-Integration, und GitHub Actions-Integration zur Implementierungsdetail in GitHub Actions-Integration