Se il tuo Capacitor Il plugin iniziò a fallire dopo l'aggiornamento a Android Gradle Plugin 9 (AGP 9), è probabile che stia incontrando un piccolo ma critico problema di configurazione di Gradle.
Questo post si concentra su intenti di ricerca comuni come:
- Capacitor errore di build del plugin AGP 9
- Errore di build del plugin Android Gradle Plugin 9
proguard-android.txtnon trovato- AGP 9
getDefaultProguardFileerrore - Capacitor build Android fallito dopo l'aggiornamento di AGP
La versione breve:
proguard-android.txtnon è più il default di sicurezza di riferimento per le build del plugin AGP 9.- Passa a
proguard-android-optimize.txt. - Riavvia e verifica.
La versione più lunga conta anche, soprattutto se si gestiscono molti plugin o spazi di lavoro Capacitor grandi. In questo articolo copriamo:
- Cosa sono Android e AGP nella catena di costruzione
- Cosa è Capacitor e come funzionano le costruzioni dei plugin
- Cosa Capgo è e perché è importante per la affidabilità delle rilasci
- Il cambiamento esatto di AGP 9 che rompe gli antichi template dei plugin
- Una strategia di migrazione sicura per un repository o molti repository
Cosa è Android in questo contesto?
Android è sia un sistema operativo che un ecosistema di costruzione. Quando si distribuisce un'app o un plugin Capacitor su Android, il progetto passa attraverso:
- Gradle come sistema di costruzione
- Plugin Gradle per Android (AGP) funzione di integrazione Gradle specifica per Android.
- The Android SDK toolchain for packaging, shrinking, linting, and producing
.aar,.apk, o.aaboutput.
Quando cambiano le versioni di AGP, alcuni valori predefiniti e file interni possono cambiare anch'essi. Una configurazione di plugin che funzionava per AGP 8 può fallire su AGP 9 se si riferisce a una baseline eliminata o obsoleta.
Cos'è Capacitor?
Capacitor E' un runtime cross-platform che ti consente di creare app iOS/Android con tecnologie web (code TypeScript, JavaScript, HTML, CSS) mentre puoi ancora chiamare API native.
applicazioni Capacitor solitamente includono:
- Le app __CAPGO_KEEP_0__ includono di solito:
- Native shell (
ios/,android/) - Plugin che espongono funzionalità native al JavaScript
Ogni plugin ha la propria configurazione di build nativa. Su Android, ciò significa che ogni plugin include un android/build.gradle file che AGP deve analizzare e compilare correttamente.
Se le impostazioni Gradle dei plugin sono obsolete, l'intero build dell'applicazione può fallire, anche quando il tuo web code è corretto.
Cosa è Capgo?
Capgo fornisce strumenti intorno alla consegna e alle operazioni di Capacitor
- Aggiornamenti in tempo reale Aggiornamenti in tempo reale
- Ecosistema di plugin e pacchetti di funzionalità native
- CI/CD-friendly update workflows for Capacitor teams
Anche con gli aggiornamenti in tempo reale, la stabilità dei build nativi non è negoziabile. È ancora necessario avere build Android puliti per:
- Rilasci App Store / Play Store
- Aggiornamenti plugin nativi
- Migrazioni piattaforma SDK
- Assunzione di team e affidabilità CI
La compatibilità con AGP 9 è importante perché mantiene la tua layer di plugin affidabile, quindi i flussi di consegna rimangono prevedibili.
Perché AGP 9 rompe le vecchie configurazioni dei plugin
Molti template dei plugin hanno utilizzato nel passato:
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
In impostazioni AGP 9, questa riferimento di base di vecchia data può fallire perché il vecchio file non è più garantito nella posizione attesa dai vecchi template/config.
Sintomi tipici includono errori Gradle durante assemble, lint, o build fasce, spesso che puntano a risorse ProGuard di baseline mancanti o riferimenti di file predefiniti invalidi.
Rapida panoramica: ProGuard, R8 e file di baseline
- R8 è il moderno code riduttore/ottimizzatore nelle costruzioni Android.
proguard-rules.proè il tuo progetto/plugin personalizzato mantenere le regole.getDefaultProguardFile(...)inserisce un piano di base fornito da Android.
Quando si fa riferimento a:
proguard-android.txt→ piano di base legacy, minimoproguard-android-optimize.txt→ piano di base ottimizzato moderno (raccomandato predefinito nelle impostazioni correnti)
Per la compatibilità con AGP 9, passare a proguard-android-optimize.txt è la soluzione pratica.
La soluzione di una riga.
Aggiorna i file Gradle del plugin e del modulo dell'app:
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
Almeno, controlla:
android/build.gradleIn ogni pluginexample-app/android/app/build.gradleIn repository dei plugin- Qualsiasi file generatore/template che crea una nuova configurazione Gradle del plugin
Guida di migrazione per un plugin
1. Trova la riferenza vecchia
rg -n "proguard-android\\.txt" android example-app
2. Sostituiscila
perl -pi -e "s/proguard-android\\.txt/proguard-android-optimize.txt/g" \
android/build.gradle example-app/android/app/build.gradle
3. Verifica con Bun
bun run verify:android
Se il tuo plugin dispone di script di verifica completa, esegui:
bun run verify
Aggiorna in batch tutti i repository dei plugin
Se mantieni molti repository dei plugin in un unico ambiente di lavoro, automatizzalo:
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"
Verifica quindi che nessun file di origine del plugin tracciato utilizzi ancora il file vecchio:
for d in capacitor-*; do
[ -d "$d/.git" ] || continue
git -C "$d" grep -n "proguard-android\\.txt" -- || true
done
Nessun match significa che la riferenza di baseline vecchia è scomparsa dai file dei plugin tracciati.
Capgo stato di rollout
Abbiamo completato questa migrazione su tutti i repository e template ufficiali di Capgo Capacitor plugin:
- Ora i moduli Android del plugin si riferiscono
proguard-android-optimize.txt - Gli esempi di app Android dei plugin sono stati aggiornati
- I template dei plugin per la scaffolding sono stati aggiornati, quindi i nuovi plugin sono compatibili con AGP 9 di default
Ciò preveniva una classe comune di errori di aggiornamento di AGP 9 prima che raggiungessero CI.
Perché ciò è importante anche se il tuo build passa oggi
Potresti non vedere gli errori immediatamente se:
- Il cache di CI ancora maschera l'errore
- Hai versioni miste di AGP all'interno dei progetti
- Solo alcuni moduli vengono ricostruiti in dev locale
Ma alla fine, i build puliti, ambienti nuovi o runner aggiornati espongono il problema. Eseguire la migrazione ora elimina l'instabilità nascosta.
Risolvere i problemi se i build falliscono ancora dopo la sostituzione
Controlla questi punti:
-
Ogni modulo è stato patchato. Esegui una verifica su moduli plugin, moduli app, esempi e asset di template.
-
Non ci sono riferimenti secondari nei script condivisi. Cerca in tutta la repository (compresi script Gradle personalizzati).
-
I cache sono puliti. Esegui
./gradlew cleane ricostruisci. -
Le versioni di AGP / Gradle / JDK sono allineate. Usa combinazioni supportate dalla documentazione Android per la tua versione di AGP.
-
Il CI utilizza le stesse versioni di local. Fissa le versioni di JDK e wrapper Gradle in CI per evitare la deriva dell'ambiente.
-
Non stai patchando solo
node_modulesCorreggi le directory delle dipendenze transitorie, non quelle dei plugin tracciati.
FAQ SEO: AGP 9 Capacitor errori di build del plugin
Come posso risolvere proguard-android.txt Not trovato in AGP 9?
Sostituisci:
getDefaultProguardFile('proguard-android.txt')
Con:
getDefaultProguardFile('proguard-android-optimize.txt')
Eseguire una ricostruzione pulita.
Perché il mio plugin Capacitor non si costruisce dopo l'aggiornamento al Plugin di Gradle Android 9?
Most failures come from legacy Gradle config in plugin android/build.gradle che ancora si riferiscono proguard-android.txta . AGP 9 progetti dovrebbero utilizzare proguard-android-optimize.txt.
Che è il percorso di migrazione AGP 9 più veloce per molti plugin Capacitor?
Usa un comando di ricerca e sostituzione di workspace, poi valuta con git grep e esegui bun run verify:android su plugin rappresentativi.
È questo solo un problema di Capacitor?
La risposta è no. Qualsiasi modulo Android (app o libreria) che utilizza riferimenti di baseline ProGuard obsoleti può incontrare errori di costruzione AGP 9 simili. Ciò è particolarmente evidente negli ecosistemi dei plugin perché molti repository condividono vecchi template.
Quali sono le parole chiave pertinenti per questa migrazione?
Se documentate questo in runbook interni o pagine di supporto, includete termini come:
- errore di costruzione AGP 9
- file ProGuard di Android Gradle Plugin 9 mancante
- plugin Capacitor Android costruzione fallita
proguard-android.txtriconoscimentoproguard-android-optimize.txtmigrazione
Collegamenti correlati
- Sviluppatori Android: Panoramica della costruzione dell'app
- Plugin Gradle Android: Nota delle versioni
- Android riduzione dimensioni code: R8 e regole
- Documentazione Gradle: Fondamenti dei tool di costruzione
- Capacitor documentazione: Documentazione ufficiale
- Capgo docs: Documentazione aggiornamento automatico
Ricordo finale
Questo problema AGP 9 è semplice, ma è facile dimenticarlo nei workspace multi-plugin. Una volta sostituiti proguard-android.txt con proguard-android-optimize.txt ovunque rilevante, i build Android diventano di nuovo predittibili.
Se utilizzi i plugin Capgo, questa migrazione è già stata applicata nei repository ufficiali quindi puoi aggiornare con meno sorprese.
Continua da Capacitor Plugin AGP 9 Build Error Fix
Se stai utilizzando Capacitor Plugin AGP 9 Build Error Fix per pianificare l'automazione CI/CD, connettilo con Capgo CI/CD per il workflow del prodotto in Capgo CI/CD, Capgo Builds nativi per il workflow del prodotto in Capgo Builds nativi, Capgo Integrazioni per il workflow del prodotto in Capgo Integrazioni, Integrazione CI/CD per i dettagli di implementazione in Integrazione CI/CD, e GitHub Azioni Integrazione per i dettagli di implementazione in GitHub Azioni Integrazione.