Wenn Ihr Capacitor Plugin nach dem Upgrade auf Android Gradle Plugin 9 (AGP 9) begonnen hat, zu scheitern, sind Sie wahrscheinlich einem kleinen, aber kritischen Gradle-Konfigurationsproblem begegnet.
Dieser Beitrag richtet sich speziell an häufige Suchabsichten wie:
- Capacitor Plugin Buildfehler AGP 9
- Plugin zum Build von Android Gradle Plugin 9 fehlgeschlagen
proguard-android.txtnicht gefunden- AGP 9
getDefaultProguardFileFehler - Capacitor Android Build fehlgeschlagen nach AGP-Upgrade
Die kurze Version:
proguard-android.txtist nicht mehr der sichere Standardwert, auf den 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 Veröffentlichungsverlässlichkeit wichtig ist
- Die genaue AGP 9-Änderung, die alte Plugin-Vorlagen bricht
- Eine sichere Migrationsstrategie für einen Repository oder viele Repository
Was ist Android in diesem Kontext?
Android ist sowohl ein Betriebssystem als auch ein Build-Ökosystem. Wenn Sie eine Capacitor-Anwendung oder -Erweiterung auf Android bereitstellen, durchläuft Ihr Projekt folgende Schritte:
- Gradle als Build-System. Android Gradle Plugin (AGP) als Android-spezifische Gradle-Integration.
- Das Android-__CAPGO_KEEP_0__-Toolchain für das Paketieren, Komprimieren, Überprüfen und Erzeugen von , oder
- The Android SDK toolchain for packaging, shrinking, linting, and producing
.aar,.apkWenn sich die AGP-Version ändert, können auch einige Standards und interne Dateien geändert werden. Eine Erweiterungskonfiguration, die für AGP 8 funktioniert hat, kann auf AGP 9 fehlschlagen, wenn sie auf eine entfernte oder veraltete Basis verweist..aabWas ist __CAPGO_KEEP_0__?
Android
What is Capacitor?
Capacitor ein plattformübergreifendes Laufzeitumfeld, das 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 üblicherweise:
- Eine Web-Schicht (Ihre Benutzeroberfläche und Geschäftslogik)
- Native-Shell-Programme (
ios/,android/) - Plugins, die native Funktionen für JavaScript bereitstellen
Jedes Plugin hat seine eigene native Build-Konfiguration. Auf Android bedeutet dies, dass jedes Plugin eine android/build.gradle Datei enthält, die AGP korrekt parsen und kompilieren muss.
Wenn die Gradle-Einstellungen der Plugins veraltet sind, kann die gesamte App-Compilation fehlschlagen, selbst wenn Ihre Web-code korrekt ist.
Was ist Capgo?
Capgo bietet Werkzeuge rund um die Capacitor-Lieferung und -Betriebsweise:
- Echtzeitaktualisierungen für Änderungen im Web-Bundle
- Ökosystem von Plugins und Pakete mit nativen Funktionen
- Update-Workflows, die CI/CD-freundlich für Capacitor-Teams sind
Selbst bei Echtzeitaktualisierungen ist die Stabilität von nativen Builds nicht verhandelbar. Sie benötigen immer noch saubere Android-Builds für:
- Veröffentlichungen im App Store / Play Store
- Native-Plugin-Updates
- Migrations von Plattformen SDK
- Team-Onboarding und CI-Geschwindigkeit
Deshalb sind AGP 9-Kompatibilitätsfixe wichtig: Sie halten Ihre Plugin-Schicht vertrauenswürdig, damit Lieferpipelines vorhersehbar bleiben.
Warum AGP 9 ältere Plugin-Konfigurationen bricht
Viele Plugin-Vorlagen nutzten historisch:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
In AGP 9-Einstellungen kann diese Legacy-Baseline-Referenz fehlschlagen, da das alte Datei nicht mehr in der erwarteten Lage durch ältere Templates/Configs garantiert ist.
Typische Symptome umfassen Gradle-Fehler während der assemble, lint, oder build Phasen, die oft auf fehlende ProGuard-Baseline-Ressourcen oder ungültige Standarddateverweise hinweisen.
Rückgrat: ProGuard, R8 und Baseline-Dateien
- R8 ist der moderne code-Shrinker/Optimierer in Android-Builds.
proguard-rules.probeschreibt Ihre Projekt/Plugin-Custom-Keep-Regeln.getDefaultProguardFile(...)fügt ein Android-basiertes Baseline ein.
Wenn Sie auf Folgendes verweisen:
proguard-android.txt-> Legacy-Minimal-Baselineproguard-android-optimize.txt-> Moderne optimierte Baseline (empfohlene Standard in aktuellen Konfigurationen)
Für die Kompatibilität mit AGP 9, das Wechseln 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 prüfen:
android/build.gradlein jedem Pluginexample-app/android/app/build.gradlein Plugin-Repositories- Jeder Generator/Template-Datei, die neue Plugin-Gradle-Konfiguration erstellt
Migrationsanleitung 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
Wenn Ihr Plugin vollständige Verifizierungs-Skripte hat, führen Sie Folgendes aus:
bun run verify
Alle Plugin-Repositories aktualisieren
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"
Validieren Sie dann, dass kein verfolgtes Plugin-Quellcode noch die 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 verschwunden ist.
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, sodass neue Plugins standardmäßig AGP 9-sicher sind
Dies verhindert eine häufige Klasse von AGP 9-Aufwärtsfehlermeldungen, bevor sie CI treffen
Warum dies wichtig ist, selbst 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 Projekten
- Nur einige Module werden in der lokalen Entwicklung neu erstellt
Aber es wird sich letztendlich durch saubere Builds, neue Umgebungen oder aktualisierte Runner offenbaren. Die Migration jetzt entfernt versteckte Instabilität.
Fehlerbehebung, wenn die Builds nach der Ersetzung weiterhin fehlschlagen
Überprüfen Sie diese Punkte:
-
Jedes Modul ist gepatcht. Betrachten Sie Plugin-Module, App-Module, Beispiele und Vorlagen-Assets.
-
Es gibt keine zweite Referenz in geteilten Skripten. Suchen Sie in gesamten Repositorien (einschließlich benutzerdefinierten Gradle-Skripten) nach.
-
Cache sind sauber. Führen Sie
./gradlew cleanund erstellen Sie neu. -
AGP / Gradle / JDK-Versionen sind ausgerichtet. Verwenden Sie Combinationen, die durch die 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, nicht die transienten Abhängigkeitsverzeichnisse.
SEO FAQ: AGP 9 Capacitor-Plugin-Baufehler
Wie behebe ich proguard-android.txt nicht gefunden in AGP 9?
Ersetzen durch
getDefaultProguardFile('proguard-android.txt')
Mit
getDefaultProguardFile('proguard-android-optimize.txt')
Dann führen Sie einen sauberen Neubau durch.
Warum scheitert mein Capacitor-Plugin nach dem Upgrade auf Android Gradle Plugin 9?
Die meisten Fehler kommen von der veralteten Gradle-Konfiguration in den Plugin- android/build.gradle Dateien, die sich noch auf veraltete Versionen beziehen proguard-android.txt. AGP 9 Projekte sollten __CAPGO_KEEP_0__ verwenden proguard-android-optimize.txt.
Was ist der schnellste AGP 9-Migrationsweg für viele Capacitor-Plugins?
Verwenden Sie einen Workspace-weiten Such-und-Ersatz-Befehl, dann überprüfen Sie mit git grep und führen Sie bun run verify:android auf repräsentative Plugins aus.
Gilt dies nur für ein Capacitor-Problem?
Nein. Jedes Android-Modul (Anwendung oder Bibliothek), das veraltete ProGuard-Baselinereferenzen verwendet, kann ähnliche AGP 9-Buildfehler auslösen. 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, fügen Sie Begriffe wie:
- AGP 9-Buildfehler
- Android-Gradle-Plugin 9 ProGuard-Datei fehlt
- Capacitor-Plugin-Android-Build fehlgeschlagen
proguard-android.txtErsatzproguard-android-optimize.txtMigration
Verwandte Links
- Android-Entwickler: Übersicht über Ihre App erstellen
- Android-Gradle-Plugin: Hinweise zur Veröffentlichung
- Android code Komprimierung: R8 und Regeln
- Gradle-Dokumentation: Grundlagen der Build-Tools
- Capacitor Dokumentation: Offizielles Dokumentation
- Capgo Dokumentation: Automatische Aktualisierung von Dokumentationen
Letzter Eindruck
Diese AGP 9-Problematik ist einfach, aber es ist leicht, sie in Mehr-Plugin-Umgebungen zu übersehen. Sobald Sie " proguard-android.txt mit proguard-android-optimize.txt überall relevanten, Android-Builds werden wieder vorhersehbar.
Wenn Sie Capgo-Plugins verwenden, ist diese Migration bereits in offiziellen Repositories angewendet, sodass Sie mit weniger Überraschungen aufsteigen können.
Fahren Sie mit der Capacitor-Plugin-AGP-9-Build-Fehler-Fix fort
Wenn Sie __CAPGO_KEEP_0__-Plugin-AGP-9-Build-Fehler-Fix verwenden, um die CI/CD-Automatisierung zu planen, verbinden Sie es mit Capacitor Plugin AGP 9 Build Error Fix Cloudflare Capgo CI/CD für den Produktworkflow in Capgo CI/CD Capgo Native Builds für den Produktworkflow in Capgo Native Builds Capgo Integrations für den Produktworkflow in Capgo Integrations CI/CD-Integration für die Implementierungsdetails in CI/CD-Integration und GitHub Actions-Integration für die Implementierungsdetails in GitHub Actions-Integration