Capacitor 9 è disponibile sul next dist-tag mentre si muove verso la disponibilità generale. Non è necessario aggiornare il tuo app il giorno in cui l'alpha viene rilasciato, ma il guida ufficiale di aggiornamento di Capacitor 9 e la guida di aggiornamento del plugin già elencano le piattaforme e le rimozioni di API che meritano di essere affrontate presto.
Questo articolo è una checklist di preparazione: lavoro che puoi fare su __CAPGO_KEEP_0__ 8 (o su una branch) per rendere l'eventuale checklist: work you can do on Capacitor 8 (or on a branch) so the eventual bunx cap migrate Piattaforme e livelli del toolchain (applicazioni)
Pianifica il tuo CI, le macchine locali e le pipeline di archiviazione in base a questi minimi:
__CAPGO_KEEP_0__ 9 è disponibile sul dist-tag mentre si muove verso la disponibilità generale. Non è necessario aggiornare il tuo app il giorno in cui l'alpha viene rilasciato, ma il
| Area | Requisito Capacitor 9 |
|---|---|
| Node.js | 24+ (la versione LTS più recente è raccomandata; npm 11 include Node 24) |
| Xcode | 27+ |
| Target di distribuzione iOS | 16.0+ |
| Android Studio | 2026.1.1+ |
| Plugin Gradle Android (AGP) | 9.2.1 |
| Wrapper Gradle | 9.5.1 |
Se si è ancora su Capacitor 8.4 o precedenti per iOS, è necessario anche il Ciclo di vita di UIScene Lavorare dalla Capacitor 8.5 aggiornamento prima di Cap 9 — Xcode 27 lo richiede. Le app già su 8.5 possono saltare quel passo aggiuntivo.
On iOS, Swift 6 (con Xcode 27) rifiuta @UIApplicationMain; quando aggiorni, sostituiscilo con @main in AppDelegate.swift come descritto nella guida ufficiale.
Cordova al momento di sincronizzazione dell'app (non un passo di preparazione del plugin)
In Capacitor 9, il layer di compatibilità Cordova è connesso solo alla tua app quando cap sync rileva la presenza di un plugin Cordova installato. L'Android elimina i moduli Gradle aggiuntivi quando non sono presenti; iOS smette di aggiungere CapacitorCordova al file Podfile o Package.swift quando non sono presenti.
Questo è un livello di applicazione modifica del comportamento dopo l'aggiornamento. Mentre sei ancora su Cap 8, non è necessario rimuovere Cordova dal tuo template in anticipo. Esegui un audit per verificare se esistono importazioni native personalizzate __CAPGO_KEEP_0__ (tue o di un plugin derivato) che utilizzano simboli di Cordova senza un plugin Cordova effettivo nel progetto — quelle riferenze falliranno una volta applicata la connessione di Cordova opzionale. custom native code Android:
e AGP 9 di default gradle.properties L'assistente di aggiornamento di AGP scrive spesso flag espliciti per mantenere il comportamento di AGP 8. Gli app __CAPGO_KEEP_0__ 9 dovrebbero
eliminare gradle.properties flags so builds keep AGP 8 behavior. Capacitor 9 apps should disabilita il supporto Kotlin che AGP 9 fornisce, e ferma AGP dall'inferrere android.builtInKotlin=false iOS: android.sdk.defaultTargetSdkToCompileSdkIfUnset=false e Xcode 14 di default targetSdkVersion).
When ti migrerai, aspettati anche:
- Bump
variables.gradleaggiornamenti minimi (compilazione/obiettivo SDK 37,minSdkVersion26, versioni aggiornate di AndroidX — vedi la documentazione ufficiale). - Elimina esplicitamente
targetSdkVersiondal tuo progettobuild.gradlecosì che AGP 9 possa inferirlo dacompileSdkVersion. - Declara
variables.gradlesimboli in cima aapp/build.gradle(Gradle 9.6 deprecato implicito ricerca dal progetto root). - Sostituisci nomi di file ProGuard predefiniti, migrati
core-ktxaandroidx.core:core1.19.0+, abbandonare l'uso del plugin Gradle Kotlin standalone e eliminarejcenter().
Potete leggere le differenze in blocchi di hunks nel Aggiornamento a 9.0 Scheda Android e applicare le stesse pulizie su una branch prima di aumentare le versioni Capacitor.
CLI: cap run --url
Capacitor 9 unisce le flag per il live-reload host/port/https in un singolo --url Argomento. Invece di:
bunx cap run android -l --host 192.168.1.181 --port 5173
Passare l'URL che il tuo server di sviluppo stampa:
bunx cap run android --url http://192.168.1.181:5173/
Aggiornare i script e i frammenti README ora per evitare che la memoria muscolare si opponga al nuovo CLI dopo l'aggiornamento.
Plugin ufficiali: push e splash gotcha
Due cambiamenti visibili dagli utenti si verificano spesso nelle app di produzione:
Push Notifications (iOS): L'opzione di presentazione obsoleta è stata eliminata. Utilizza alert e/o banner in le opzioni di presentazione. list Schermo di avvio (Android):
Predefinito è cambiato da launchFadeOutDuration 200 ms a 0 . Se hai dipinto sulla nascita dei glitch di primo disegno, impostaloesplicitamente launchFadeOutDuration: 200 fino a quando non hai aggiustato la tua interfaccia utente di avvio. capacitor.config Scansiona le sezioni dei plugin in
L'opzione di presentazione obsoleta è stata eliminata. Utilizza Guida di aggiornamento 9.0 per gli aggiornamenti di AndroidX e Google Play Services legati ai plugin ufficiali che utilizzate.
Manutentori di plugin: preparatevi su Cap 8 senza rompere Cap 8
Se spedite plugin Capacitor consumati su Capacitor 8 e want Cap 9-ready code, focus on desiderate API pronte per Cap 9, concentratevi sula rimozione dei __CAPGO_KEEP_0__ obsoleti
, non sulle modifiche di packaging esclusive di Cap-9.
- Sicuro da fare mentre Cap 8 rimane supportato:
@NativePluginSostituire@CapacitorPlugincon@PermissionCallback/@ActivityCallbackpatterni (vedi il guida del plugin 9.0 tabella). - Elimina
PluginCall.hasOption,Plugin.getConfigValue, costruttori e getterCapConfig, e altre rimozioni Java elencate sotto “Cambiamenti di rotta in __CAPGO_KEEP_0__.”,PluginCall.save()/isSaved(), and other Java removals listed under “Breaking changes in code.” - classe di compatibilità e gli aiuti deprecati; utilizza
CAPBridge, accessori tipizzatiCAPBridgeProtocol, e proprietà di ponte dalla tabella di migrazione.ApplicationDelegateProxyRimuoviPluginCallcostruttori e getter, e altre rimozioni Java elencate sotto “Cambiamenti di rotta in __CAPGO_KEEP_0__.” - Esegui
bunx @capacitor/plugin-migration-v8-to-v9@latestEsegui su una branch e conserva solo le modifiche API che ancora compilano con le dipendenze peer di Cap 8 fino a quando non pubblicherai una versione maggiore per Cap 9.
Non eliminare il Cordova prodotto SPM dal tuo plugin Package.swift mentre ancora supporti Capacitor 8. I progetti Cap 8 si aspettano quella dipendenza quando il tuo plugin è basato su SPM; eliminarla troppo presto rompe i consumatori ancora su 8. Tratta le opzioni Cordova / eliminare il prodotto Cordova come una __CAPGO_KEEP_0__ 9-only Capacitor 9-only La stessa regola del pollice si applica all'aumento
La stessa regola del pollice si applica all'aumento capacitor-swift-pm per 9.0.0-alpha.x in Package.swift: deve essere installato sul tuo Cap 9 maggiore, non su una versione compatibile con Cap-8.
Capgo aggiornamenti live e la costruzione di archiviazione nativa Cap 9
Capgo fornisce pacchetto web aggiornamenti via aria; la shell nativa proviene ancora da App Store e Google Play. Quando si sposta l'app su Capacitor 9:
- Invia almeno una costruzione di archiviazione compilato contro Capacitor 9 progetti nativi (iOS e Android). Quel binario stabilisce il baseline nativo Capgo canali mira.
- Solo dopo che quella costruzione è nelle mani degli utenti, si può contare sugli aggiornamenti via OTA testati contro il comportamento di WebView e plugin di Cap 9.
- Metti i canali di produzione su
metadatastrategia e caricare il bundle di Cap 9 corrispondente su ogni canale con--auto-min-update-version. Per tale upload di riferimento nativo intenzionale omissione--fail-on-incompatible(i pacchetti nativi sono supposti cambiare). Mantenere--fail-on-incompatiblee--auto-min-update-versionsui caricamenti OTA quotidiani successivi. Vedi Native + OTA canale di workflow. - Mantieni regole di canale e semver allineate in modo che non invii mai un bundle che assume API di Cap 9 su dispositivi che ancora eseguono una shell nativa più vecchia.
Se utilizzi Capgo Build o il tuo CI personalizzato, aggiorna gli agenti prima di lavorare su una nuova feature. Prima di iniziare a lavorare su una nuova feature, menziona l'issue. la release del Cap 9 store in modo che il pipeline corrisponda a quanto gli utenti installano: macOS i runner devono avere Node 24+ e Xcode 27+; Linux i runner devono avere Node 24+ e strumentazione host Android allineata con AGP 9.2.1 / Gradle 9.5.1 (Xcode è disponibile solo su macOS).
Ordine di operazioni consigliato
- Aggiornare le strumentazioni installate su i host CI e le macchine dei developer ai livelli sopra (Node, Xcode, Android Studio, JDK). Non aggiorna la dipendenza AGP dell'app Cap 8, il wrapper Gradle o altri file del progetto Android ai valori di Cap 9 fino a
bunx cap migrate— questi cambiamenti di progetto appartengono allo step di migrazione. - Risolve le API native obsolete nel'app code e nei plugin (soprattutto personalizzati)
AppDelegategestione delle URL e l'uso del ponte Android). - Pulisci i file e i script Gradle Android (
gradle.propertiesimpostazioni di default ProGuard--urlnei script di sviluppo). - Audit l'uso di Cordova a livello di app; non modificare i prodotti SPM Cordova dei plugin fino alle rilasci di Cap 9 esclusivi. Quando Cap 9 sarà GA (o quando accetti
- la versione
next), eseguibun add -d @capacitor/cli@next(o@latestdopo la rilascio), quindibunx cap migrate, e segui Aggiornamento a 9.0. - Pubblica la build nativa di Cap 9 to stores, then resume or expand Capgo OTA rollouts on the matching channel.
La versione 9 di Capacitor è principalmente “pagare le deprecate e allinearsi con le moderne catene di tool per Android e Apple.” Eseguendo quel lavoro su Cap 8, mantieni la differenza di upgrade piccola e i plugin compatibili con i team che stanno ancora rilasciando 8.x oggi.