Wenn Ihr Capacitor Das Plugin funktioniert nicht mehr, nachdem Sie auf Android Gradle Plugin 9 (AGP 9) aktualisiert haben, Sie treffen wahrscheinlich ein kleines, aber kritisches Gradle-Konfigurationsproblem.
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, nachdem AGP aktualisiert wurde
Die Kurzversion:
proguard-android.txtist nicht mehr der sichere Standard-Baseline, um in AGP 9-Plugin-Builds zu referenzieren.- Wechseln Sie zu
proguard-android-optimize.txt. - Rebuild und überprüfen Sie.
Die längere Version ist auch wichtig, insbesondere wenn Sie viele Plugins oder große Capacitor-Arbeitsbereiche verwalten.
- 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 Vertrauenswürdigkeit von Release-Veröffentlichungen wichtig ist
- Der genaue AGP 9-Änderung, der alte Plugin-Vorlagen bricht
- Ein sicheres 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 ein __CAPGO_KEEP_0__-App oder Plugin auf Android bereitstellen, geht Ihr Projekt durch: is both an operating system and a build ecosystem. When you ship a Capacitor app or plugin on Android, your project goes through:
- Was Android und AGP in der Build-Kette sind als das Buildsystem.
- Android Gradle-Plugin (AGP) als Android-spezifische Gradle-Integration.
- Das Android-SDK-Toolchain für das Paketieren, Komprimieren, Überprüfen und Erzeugen von
.aar,.apk, oder.aabAusgaben.
Wenn sich die AGP-Versionen ändern, 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 ist 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 UI und Geschäftslogik)
- Native shells (
ios/,android/) - Plugins, die native Funktionen für JavaScript offenlegen
Jeder 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 Plugin-Gradle-Einstellungen veraltet sind, kann die ganze App-Build fehlschlagen, selbst wenn Ihr Web code korrekt ist.
Was ist Capgo?
Capgo bietet Werkzeuge rund um Capacitor-Lieferung und -Betrieb:
- Live-Updates für Änderungen am Web-Bundle
- Plugin-Ökosystem und native Feature-Pakete
- CI/CD-freundliche Update-Workflows für Capacitor-Teams
Selbst bei Live-Updates ist die Stabilität der nativen Build-Abstimmung unverhandelbar. Sie benötigen immer noch saubere Android-Builds für:
- Veröffentlichungen in App Store / Play Store
- Native-Plugin-Updates
- Plattform-SDK-Migrationen
- Team-Onboarding und CI-Verlässlichkeit
Daher sind AGP 9-Kompatibilitätskorrekturen wichtig: Sie halten Ihre Plugin-Schicht vertrauenswürdig, damit Lieferpipelines vorhersehbar bleiben.
Warum AGP 9 ältere Plugin-Konfigs bricht
Viele Plugin-Vorlagen verwendeten historisch:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
Bei AGP 9-Setup kann diese legacy-Baseline-Referenz fehlschlagen, weil das alte Datei nicht mehr garantiert ist an der erwarteten Stelle durch ältere Vorlagen/Konfigs.
Typische Symptome umfassen Gradle-Fehler während assemble, lint, oder build Phasen, oft auf fehlende ProGuard-Baseline-Ressourcen oder ungültige Standarddateverweise hinweisend.
Schnelle Hintergrundinformation: ProGuard, R8 und Basisdateien
- R8 ist der moderne code-Shrinker/Optimierer in Android-Builds.
proguard-rules.proIst Ihr Projekt/Plugin benutzerdefinierte Keep-Regeln.getDefaultProguardFile(...)Fügt ein Android-bereitgestelltes Basisprofil hinzu.
Wenn Sie auf: verweisen
proguard-android.txt-> Legacy-Minimalbasisproguard-android-optimize.txt-> Moderne optimierte Basis (empfohlene Standard in aktuellen Konfigurationen)
Für AGP 9-Kompatibilität, das Wechseln zu proguard-android-optimize.txt ist die praktische Lösung.
Die einezeilige Lösung
Aktualisieren Sie das Plugin- und das App-Modul-Gradle-File:
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Überprüfen Sie mindestens:
android/build.gradlein jedem Pluginexample-app/android/app/build.gradlein Plugin-Repositories- Jede Generator/Vorlagen-Datei, die neue Plugin-Gradle-Konfigurationen 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
Wenn Ihr Plugin vollständige Verifizierungs-Skripte hat, führen Sie:
bun run verify
Batches aktualisieren Sie alle 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 keine gesperrten Plugin-Quellen die alte Datei noch verwenden:
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 Referenz aus den überwachten 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 - Die Beispiel-Android-Anwendungen für Plugins wurden ebenfalls aktualisiert
- Die Vorlagen für Plugin-Scaffolding wurden aktualisiert, sodass neue Plugins standardmäßig AGP 9-sicher sind
Dies verhindert eine häufige Klasse von AGP 9-Aufwertungsfehlern, bevor sie CI erreichen
Weshalb dies wichtig ist, auch wenn Ihr Build heute noch erfolgreich ist
Sie sehen möglicherweise keine Fehler sofort, wenn:
- Ihr CI-Cache die Problematik noch versteckt
- Ihr Projekt verschiedene AGP-Versionen enthält
- Nur einige Module werden in der lokalen Entwicklungs-Umgebung neu erstellt
But letztendlich werden saubere Builds, neue Umgebungen oder aktualisierte Runner es offenlegen. Die Migration jetzt entfernt versteckte Instabilität.
Troubleshooting, wenn Builds nach dem Austausch weiterhin fehlschlagen
Überprüfe diese Punkte:
-
Jedes Modul ist gepatcht. Betrachte Plugin-Module, Anwendungs-Module, Beispiele und Vorlagen-Assets.
-
Es gibt keine zweite Referenz in gemeinsam genutzten Skripten. Suche in der gesamten Repository (einschließlich benutzerdefinierten Gradle-Skripten) nach.
-
Die Caches sind sauber. Führe
./gradlew cleanund baue neu auf. -
AGP / Gradle / JDK-Versionen sind synchronisiert. Verwende kombinierungen, die von der Android-Dokumentation für deine AGP-Version unterstützt werden.
-
CI verwendet die gleichen Versionen wie lokale. Fixiere JDK- und Gradle-Wrapper-Versionen in CI, um Umgebungsdrift zu vermeiden.
-
Du patchest nicht nur
node_modules. Fixiere den Quellcode des getrackten Plugins, nicht die transienten Abhängigkeitsverzeichnisse.
SEO FAQ: AGP 9 Capacitor Plugin-Buildfehler
Wie behebe ich proguard-android.txt nicht gefunden in AGP 9?
Ersetzen durch:
getDefaultProguardFile('proguard-android.txt')
Dann führe einen sauberen Neubau durch.
getDefaultProguardFile('proguard-android-optimize.txt')
Warum scheitert mein __CAPGO_KEEP_0__-Plugin nach dem Upgrade auf Android Gradle Plugin 9?
Why does my Capacitor plugin build fail after upgrading to Android Gradle Plugin 9?
Dateien, die sich noch auf android/build.gradle . AGP 9-Projekte sollten proguard-android.txtWas ist der schnellste Weg zur Migration von vielen __CAPGO_KEEP_0__-Plugins für AGP 9? proguard-android-optimize.txt.
What is the fastest AGP 9 migration path for many Capacitor plugins?
und führe dann durch git grep und führe dann durch bun run verify:android auf repräsentativen Plugins.
Ist dies nur ein Capacitor-Problem?
Nein. Jedes Android-Modul (Anwendung oder Bibliothek), das veraltete ProGuard-Baselinereferenzen verwendet, kann ähnliche AGP 9-Buildfehler erleiden. Dies ist insbesondere in Plugin-Ökosystemen sichtbar, da 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
- Android Gradle Plugin: Hinweise zur Veröffentlichung
- Android code-Komprimierung: R8 und Regeln
- Gradle-Dokumentation: Grundlagen der Build-Tools
- Capacitor-Dokumentation: Offizielle Dokumentation
- Capgo-Dokumentation: Dokumentation zur automatischen Aktualisierung
Zusammenfassung
Dieses AGP 9 Problem ist einfach, aber es ist leicht zu übersehen in Multi-Plugin-Workspaces. Sobald Sie "with" durch "everywhere relevant" ersetzen, werden Android Builds wieder vorhersehbar. proguard-android.txt wird proguard-android-optimize.txt wird
Wenn Sie Capgo Plugins verwenden, ist diese Migration bereits in offiziellen Repositorien angewendet, sodass Sie mit weniger Überraschungen aufsteigen können.