A differenza degli aggiornamenti precedenti, la transizione da Capacitor 4 a Capacitor 5 comporta cambiamenti minimi. Questa guida fornisce istruzioni passo dopo passo per aggiornare il tuo progetto a Capacitor 5, nonché una lista dei cambiamenti di rottura per i plugin ufficiali.
Nota: Capacitor 5 richiede NodeJS 16 o superiore, poiché Node 12 ha raggiunto la fine della vita e Node 14 raggiungerà la fine della vita il 30 aprile 2023. Si consiglia di utilizzare la versione LTS più recente di NodeJS.
-
Installa il
latestversione del Capacitor CLI nel tuo progetto:npm i -D @capacitor/cli@latest -
Eseguire il seguente comando per consentire al CLI di gestire la migrazione:
npx cap migrateSe alcune fasi di migrazione non possono essere eseguite, ulteriori informazioni saranno fornite nell'output del terminale. I passaggi di migrazione manuali sono elencati di seguito.
-
Se hai installato l'estensione VS Code , controlla la sezione raccomandazioni dell'estensione per trovare l'opzione di migrare il tuo progetto a Capacitor 5.
Aggiornamento del progetto iOS Capacitor 4 a Capacitor 5
-
Aggiorna Xcode: Capacitor 5 richiede Xcode 14.1+.
-
Aggiorna .gitignore: Esegui le seguenti modifiche al tuo
.gitignorefile:- App/Podfile.lock + App/output -
Aggiorna Assets per utilizzare un'icona di app singola: Xcode 14 supporta un'icona di app singola di 1024x1024. Pulisci il tuo AppIcon.appiconset eliminando tutte le dimensioni non necessarie.
Aggiornamento di Capacitor 4 a Capacitor 5 per Progetto Android
-
Aggiornamento di Android Studio: Capacitor 5 richiede Android Studio Flamingo | 2022.2.1 o successivo a causa dell'utilizzo di Gradle 8, che richiede Java JDK 17. Java 17 è incluso in Android Studio Flamingo, quindi non sono necessarie scariche aggiuntive.
-
Esegui l'assistente di aggiornamento di AGP: Android Studio può aiutare con alcune aggiornamenti relativi a Gradle e il trasferimento di pacchetti nei file di build. Per iniziare, esegui
Tools -> AGP Upgrade Assistant. -
Aggiorna le variabili del progetto Android: Nel tuo
variables.gradlefile, aggiorna i tuoi valori ai seguenti minimi nuovi:minSdkVersion = 22 compileSdkVersion = 33 targetSdkVersion = 33 androidxActivityVersion = '1.7.0' androidxAppCompatVersion = '1.6.1' androidxCoordinatorLayoutVersion = '1.2.0' androidxCoreVersion = '1.10.0' androidxFragmentVersion = '1.5.6' coreSplashScreenVersion = '1.0.0' androidxWebkitVersion = '1.6.1' junitVersion = '4.13.2' androidxJunitVersion = '1.1.5' androidxEspressoCoreVersion = '3.5.1' cordovaAndroidVersion = '10.1.1' -
Aggiorna i servizi di Google:
# build.gradle dependencies { - classpath 'com.google.gms:google-services:4.3.13' + classpath 'com.google.gms:google-services:4.3.15' } -
Aggiorna il plugin di Gradle a 8.0.0:
# build.gradle dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.android.tools.build:gradle:8.0.0' } -
Aggiorna il wrapper di Gradle a 8.0.2:
# gradle-wrapper.properties distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists - distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip + distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -
Disabilita Jetifier:
# gradle.properties android.useAndroidX=true - android.enableJetifier=true -
Spostare pacchetto a
build.gradle:# AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> - <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="[YOUR_PACKAGE_ID]"> + <manifest xmlns:android="http://schemas.android.com/apk/res/android"># build.gradle android { + namespace "[YOUR_PACKAGE_ID]" compileSdkVersion rootProject.ext.compileSdkVersion -
Aggiornare androidScheme: In Capacitor 6,
httpssarà la impostazione predefinita perandroidSchemeper le app esistenti per consentire meglio agli applicazioni Capacitor di utilizzare il sistema del feature di riempimento automatico. Per evitare la perdita di dati a causa di questo cambiamento, impostare lo schema ahttpora, anche se è l'impostazione predefinita corrente.{ server: { androidScheme: "http" } } -
Aggiornare versione Kotlin: Se il tuo progetto utilizza Kotlin, aggiorna il
kotlin_versionvariabile a'1.8.20'.
Modifiche e rimozioni della funzionalità del plugin
La seguente funzionalità del plugin è stata modificata o eliminata. Aggiorna il tuo code di conseguenza:
- Scheda di azione
- Navegatore
- Cameretta
- Dispositivo
- Posizione geografica
- Google Mappa
- Notifiche locali
- Notifiche push
- Barra dello stato
Foglio di azione
- Aggiorna il
androidxMaterialVersion__CAPGO_KEEP_0__1.8.0.
Navegatore
- Aggiorna il
androidxBrowserVersion__CAPGO_KEEP_0__ a1.5.0.
Camera
- Per Android 13, aggiungi il permesso di lettura delle immagini dei media (
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>) inAndroidManifest.xml. - Aggiorna il
androidxMaterialVersion__CAPGO_KEEP_0__ a1.8.0. - Aggiorna il
androidxExifInterfaceVersion__CAPGO_KEEP_0__ a1.3.6.
Dispositivo
- Cambia
DeviceId.uuidaDeviceId.identifier. - Su iOS 16+
DeviceInfo.nameritornerà un nome di dispositivo generico a meno che non aggiungi le autorizzazioni appropriate autorizzazioni.
Geolocalizzazione
- Aggiorna il
playServicesLocationVersiona21.0.1.
Google Maps
- Aggiorna le seguenti variabili:
googleMapsPlayServicesVersiona18.1.0.googleMapsUtilsVersiona3.4.0.googleMapsKtxVersiona3.4.0.googleMapsUtilsKtxVersiona3.4.0.kotlinxCoroutinesVersiona1.6.4.androidxCoreKTXVersiona1.10.0.kotlin_versiona1.8.20.
Notifiche Locali
- Per Android 13, è richiesta una nuova verifica di permesso di esecuzione per pianificare notifiche locali quando si mira a SDK 33. Chiamata
checkPermissions()erequestPermissions()di conseguenza.
Notifiche Push
- Per Android 13, è richiesta una nuova verifica di permesso di esecuzione per ricevere notifiche push quando si mira a SDK 33. Chiamata
checkPermissions()erequestPermissions()di conseguenza. - Aggiorna
firebaseMessagingVersionvariabile a23.1.2.
Barra dello Stato
- Su iOS, l'animazione predefinita della barra dello stato è stata modificata in
FADE.
Seguendo questi passaggi e aggiornando il tuo code in conformità, dovresti ora aver aggiornato con successo il tuo progetto da Capacitor 4 a Capacitor 5. Assicurati di testare attentamente la tua applicazione per garantire che tutte le funzionalità e i plugin funzionino come previsto.
Continua da Aggiornamento da Capacitor 4 a Capacitor 5: Una Guida Passo dopo Passo
Se stai utilizzando Aggiornamento da Capacitor 4 a Capacitor 5: Una Guida Passo dopo Passo per pianificare il lavoro dei plugin nativi, connettilo con Capgo Directory dei Plugin per il flusso di lavoro del prodotto in Capgo Directory dei Plugin, Capacitor Plugin da Capgo per i dettagli di implementazione in Capacitor Plugin da Capgo Aggiunta o Aggiornamento Plugin per i dettagli di implementazione in Aggiunta o Aggiornamento Plugin, Alternative per Plugin Enterprise Ionic per il workflow del prodotto in Alternative per Plugin Enterprise Ionic, e Capgo Costruzione Nativa per il workflow del prodotto in Capgo Costruzione Nativa.