Falls dein Capacitor Wenn der Plugin-Build nach dem Upgrade auf das Android Gradle Plugin 9 (AGP 9) fehlschlägt, liegt meist ein kleiner, aber kritischer Gradle-Konfigurationsfehler vor.
Dieser Post richtet sich gezielt an Suchanfragen wie:
- Capacitor Plugin-Buildfehler mit AGP 9 beheben
- Android Gradle Plugin 9 Plugin-Build fehlgeschlagen
proguard-android.txtnicht gefunden- AGP 9
getDefaultProguardFileFehler - Capacitor Android-Build nach AGP-Upgrade fehlgeschlagen
Die Kurzfassung:
proguard-android.txtist in AGP 9 Plugin-Builds nicht mehr die sichere Standard-Baseline, auf die man sich beziehen kann.- Wechsle zu
proguard-android-optimize.txt. - Neu bauen und prüfen.
Auch die längere Version ist wichtig, besonders wenn du viele Plugins oder große Capacitor Workspaces pflegst. In diesem Artikel behandeln wir:
- Die Rolle von Android und AGP in der Build-Chain
- Was Capacitor ist und wie Plugin-Builds funktionieren
- Was Capgo ist und warum das für die Release-Zuverlässigkeit wichtig ist
- Die exakte AGP 9 Änderung, die alte Plugin-Templates bricht
- Eine sichere Migrationsstrategie für ein oder mehrere Repos
Was bedeutet Android in diesem Kontext?
Android ist sowohl ein Betriebssystem als auch ein Build-Ecosystem. Wenn du eine Capacitor App oder ein Plugin für Android veröffentlichst, durchläuft dein Projekt:
- Gradle als Build-System.
- Android Gradle Plugin (AGP) als Android-spezifische Gradle-Integration.
- Die Android SDK Toolchain zum Packen, Shrinking, Linting und Erstellen von
.aar,.apk, oder.aabOutputs.
Wenn sich AGP-Versionen ändern, können sich auch einige Defaults und interne Dateien ändern. Eine Plugin-Konfiguration, die mit AGP 8 funktionierte, kann bei AGP 9 fehlschlagen, wenn sie auf eine entfernte oder veraltete Baseline verweist.
Was ist Capacitor?
Capacitor ist eine Cross-Platform-Runtime, mit der du iOS/Android-Apps mit Web code (TypeScript, JavaScript, HTML, CSS) bauen kannst, während du weiterhin native APIs aufrufst.
Capacitor Apps enthalten meistens:
- Einen Web-Layer (deine UI und Business-Logik)
- Native Shells (
ios/,android/) - Plugins, die native Features für JavaScript bereitstellen
Jedes Plugin hat eine eigene Native Build-Konfiguration. Bei Android bedeutet das, dass jedes Plugin eine android/build.gradle Datei enthält, die AGP korrekt parsen und kompilieren muss.
Sind die Gradle-Einstellungen eines Plugins veraltet, kann der gesamte App-Build fehlschlagen, selbst wenn dein Web code korrekt ist.
Was ist Capgo?
Capgo bietet Tools für Capacitor Delivery und Operations:
- Live Updates für Web-Bundle-Änderungen
- Plugin-Ökosystem und native Feature-Pakete
- CI/CD-freundliche Update-Workflows für Capacitor Teams
Selbst mit Live Updates ist die Stabilität des Native Build unverzichtbar. Sie benötigen weiterhin saubere Android-Builds für:
- App Store / Play Store Releases
- Native Plugin-Upgrades
- Plattform-SDK-Migrationen
- Team Onboarding und CI-Zuverlässigkeit
Deshalb sind AGP 9 Kompatibilitätsfixes wichtig: Sie halten Ihre Plugin-Schicht stabil, damit Ihre Delivery Pipelines vorhersehbar bleiben.
Warum AGP 9 ältere Plugin-Configs bricht
Viele Plugin-Templates haben historisch genutzt:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
In AGP 9 Setups kann dieser Legacy-Baseline-Referenzpunkt fehlschlagen, da die alte Datei am von älteren Templates/Configs erwarteten Ort nicht mehr garantiert vorhanden ist.
Typische Symptome sind Gradle-Fehler während der assemble, lint, oder build Phasen, die oft auf fehlende ProGuard Baseline-Ressourcen oder ungültige Standard-Dateireferenzen hinweisen.
Kurzer Hintergrund: ProGuard, R8 und Baseline-Dateien
- R8 ist der moderne code-Shrinker/Optimizer in Android-Builds.
proguard-rules.prosind deine benutzerdefinierten Keep-Rules für Projekt/Plugin.getDefaultProguardFile(...)fügt eine von Android bereitgestellte Baseline ein.
Wenn du referenzierst:
proguard-android.txt-> Legacy, minimale Baselineproguard-android-optimize.txt-> Moderne, optimierte Baseline (empfohlener Standard in aktuellen Setups)
Für AGP-9-Kompatibilität ist der Wechsel zu proguard-android-optimize.txt die praktische Lösung.
Der Einzeiler-Fix
Gradle-Dateien für Plugin- und App-Modul aktualisieren:
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Prüfe mindestens:
android/build.gradlein jedem Pluginexample-app/android/app/build.gradlein den Plugin-Repos- Alle Generator-/Template-Dateien, die neue Plugin-Gradle-Configs erstellen
Migrationsguide für ein Plugin
1. Alte Referenz finden
rg -n "proguard-android\\.txt" android example-app
2. Ersetzen
perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g" \
android/build.gradle example-app/android/app/build.gradle
3. Mit Bun verifizieren
bun run verify:android
Wenn dein Plugin vollständige Verification-Skripte hat, führe aus:
bun run verify
Batch-Update aller Plugin-Repos
Wenn du viele Plugin-Repos in einem Workspace pflegst, automatisiere 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"
Validiere dann, dass keine getrackte Plugin-Quelle die alte Datei noch verwendet:
for d in capacitor-*; do
[ -d "$d/.git" ] || continue
git -C "$d" grep -n "proguard-android\\.txt" -- || true
done
„No matches“ bedeutet, dass die alte Baseline-Referenz aus den überwachten Plugin-Dateien entfernt wurde.
Capgo Rollout-Status
Wir haben diese Migration in allen offiziellen Capgo Capacitor Plugin-Repositories und Templates abgeschlossen:
- Android-Module der Plugins referenzieren nun
proguard-android-optimize.txt - Auch die Android-Beispiel-Apps der Plugins wurden aktualisiert
- Plugin-Scaffolding-Templates wurden aktualisiert, sodass neue Plugins standardmäßig AGP 9-safe sind
Dies verhindert eine häufige Art von AGP 9 Upgrade-Fehlern, bevor sie die CI erreichen.
Warum das wichtig ist, selbst wenn dein Build heute durchläuft
Fehler treten möglicherweise nicht sofort auf, wenn:
- Dein CI-Cache das Problem noch maskiert
- Du gemischte AGP-Versionen in verschiedenen Projekten nutzt
- In der lokalen Entwicklung nur einige Module neu gebaut werden
Doch irgendwann decken Clean Builds, neue Umgebungen oder aktualisierte Runner es auf. Die Migration jetzt beseitigt versteckte Instabilität.
Fehlersuche, falls Builds nach dem Austausch weiterhin fehlschlagen
Prüfe diese Punkte:
-
Jedes Modul ist gepatcht. Prüfe Plugin-Module, App-Module, Samples und Template-Assets.
-
Keine zweite Referenz in Shared Scripts. Durchsuche die gesamten Repositories (inklusive Custom Gradle Scripts).
-
Caches sind sauber. Führe aus
./gradlew cleanund baue neu. -
AGP-/Gradle-/JDK-Versionen sind abgestimmt. Nutze Kombinationen, die laut Android-Dokumentation für deine AGP-Version unterstützt werden.
-
CI nutzt dieselben Versionen wie lokal. Pinning von JDK- und Gradle-Wrapper-Versionen in der CI, um Environment-Drift zu vermeiden.
-
Du patchst nicht nur
node_modules. Fixe den eingecheckten Plugin-Quellcode, nicht flüchtige Dependency-Verzeichnisse.
SEO FAQ: AGP 9 Capacitor Plugin-Build-Fehler
So behebe ich proguard-android.txt nicht gefunden in AGP 9?
Ersetze:
getDefaultProguardFile('proguard-android.txt')
Durch:
getDefaultProguardFile('proguard-android-optimize.txt')
Führe dann einen Clean Rebuild aus.
Warum schlägt der Build meines Capacitor Plugins nach dem Upgrade auf das Android Gradle Plugin 9 fehl?
Die meisten Fehler entstehen durch veraltete Gradle-Konfigurationen in Plugin- android/build.gradle Dateien, die noch auf proguard-android.txtverweisen. AGP 9 Projekte sollten proguard-android-optimize.txt.
Was ist der schnellste Weg zur AGP 9 Migration für viele Capacitor Plugins?
Nutze einen Workspace-weiten Search-and-Replace-Befehl und validiere mit git grep und führe aus bun run verify:android bei repräsentativen Plugins.
Ist das nur ein Capacitor Problem?
Nein. Jedes Android-Modul (App oder Library), das veraltete ProGuard-Baseline-Referenzen nutzt, kann ähnliche AGP 9 Build-Fehler verursachen. Das ist in Plugin-Ökosystemen besonders auffällig, da viele Repositories alte Templates verwenden.
Welche Keywords sind für diese Migration relevant?
Falls du dies in internen Runbooks oder Support-Seiten dokumentierst, verwende Begriffe wie:
- AGP 9 Build-Fehler
- Android Gradle Plugin 9 ProGuard Datei fehlt
- Capacitor Plugin Android Build fehlgeschlagen
proguard-android.txtReplacementproguard-android-optimize.txtMigration
Weiterführende Links
- Android-Entwickler: App-Build-Übersicht
- Android Gradle Plugin: Release Notes
- Android code Shrinking: R8 und Regeln
- Gradle Docs: Grundlagen der Build-Tools
- Capacitor Docs: Offizielle Dokumentation
- Capgo Docs: Auto-Update-Docs
Final takeaway
Dieses AGP 9 Problem ist simpel, wird aber in Multi-Plugin-Workspaces leicht übersehen. Sobald du ... ersetzt proguard-android.txt mit proguard-android-optimize.txt überall dort, wo es relevant ist, werden Android-Builds wieder vorhersehbar.
Wenn Sie Capgo Plugins nutzen, ist diese Migration in den offiziellen Repositories bereits erfolgt, sodass Sie mit weniger Überraschungen upgraden können.
Weiterlesen: Capacitor Plugin AGP 9 Build Error Fix
Wenn du es nutzt AGP-9-Build-Fehler im Capacitor Plugin beheben um CI/CD-Automatisierung zu planen, verbinde es mit Capgo CI/CD für den Produkt-Workflow in Capgo CI/CD, Capgo Native Builds optimieren für den Produkt-Workflow in Capgo Native Builds, Capgo Integrationen für den Produkt-Workflow in Capgo Integrations, CI/CD-Integration für die Implementierungsdetails in der CI/CD-Integration und GitHub Actions-Integration für die Implementierungsdetails in der GitHub Actions-Integration.