Rispetto agli aggiornamenti precedenti, la transizione da Capacitor 4 a Capacitor 5 comporta pochi cambiamenti di rotta. Questa guida fornisce istruzioni passo dopo passo per aggiornare il tuo progetto a Capacitor 5, nonché una lista dei cambiamenti di rotta per i plugin ufficiali.
Nota: Capacitor 5 richiede NodeJS 16 o superiore, poiché Node 12 è giunto alla 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.
-
Installare la
latestversione del Capacitor CLI nel tuo progetto:npm i -D @capacitor/cli@latest -
Eseguire il seguente comando per far gestire il CLI la migrazione:
npx cap migrateSe alcune fasi di migrazione non possono essere eseguite, ulteriori informazioni saranno fornite nell'output del terminale. Le fasi di migrazione manuali sono elencate 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 singolaRimuovi tutte le dimensioni non necessarie dal set di icone AppIcon.appiconset, poiché Xcode 14 supporta solo un'icona di app di 1024x1024.
Aggiornamento del progetto Android da Capacitor 4 a Capacitor 5
-
Aggiorna Android Studio: Capacitor 5 requires Android Studio Flamingo | 2022.2.1 or newer due to the usage of Gradle 8, which requires Java JDK 17. Java 17 ships with Android Studio Flamingo, so no additional downloads are needed.
-
Esegui l'assistente di aggiornamento AGPEsegui Android Studio per effettuare alcune aggiornamenti relativi a Gradle e spostare i pacchetti nei file di build. Per iniziare, esegui
Tools -> AGP Upgrade Assistant. -
Aggiorna le variabili del progetto Android: In tuo
variables.gradlefile, aggiorna i 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 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 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 -
Sposta il 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 -
Aggiorna androidSchemeIn Capacitor 6.
httpssarà impostato per impostazione predefinita perandroidSchemeper le app esistenti per consentire meglio agli applicazioni Capacitor di utilizzare la funzione di riempimento automatico del sistema. Per evitare la perdita di dati a causa di questo cambiamento, impostare lo schema suhttpora, anche se è la versione attuale predefinita.{ server: { androidScheme: "http" } } -
Aggiorna la versione di Kotlin: Se il tuo progetto utilizza Kotlin, aggiorna il
kotlin_versionvariabile a'1.8.20'.
Modifiche alle funzionalità dei plugin
I seguenti plugin hanno subito modifiche o sono stati eliminati. Aggiorna il tuo code di conseguenza:
- Schermo di azione
- Navigatore
- Camera
- Dispositivo
- Geolocalizzazione
- Mappa di Google
- Notifiche locali
- Notifiche push
- Barra dello stato
Scheda di azione
- Aggiorna il
androidxMaterialVersionvariabile a1.8.0.
Browser
- Aggiorna il
androidxBrowserVersionvariabile a1.5.0.
Camera
- Per Android 13, aggiungi la permessione di lettura delle immagini dei media (
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>)AndroidManifest.xml. - Aggiorna il
androidxMaterialVersionalla1.8.0. - Aggiorna il
androidxExifInterfaceVersionalla1.3.6.
Dispositivo
- Cambia
DeviceId.uuidaDeviceId.identifier. - Nel caso di iOS 16+
DeviceInfo.nameritorna un nome dispositivo generico a meno che non aggiungi le autorizzazioni appropriate Geolocalizzazione.
Entità
- Aggiorna il
playServicesLocationVersiona21.0.1.
Mappa di Google
- 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 autorizzazione runtime per pianificare le notifiche locali quando si mira a SDK 33.
checkPermissions()AndrequestPermissions()accordingly.
Notifiche Push
- Per Android 13, è richiesta una nuova verifica di autorizzazione runtime per ricevere le notifiche push quando si mira a SDK 33.
checkPermissions()AndrequestPermissions()accordingly. - Aggiorna il
firebaseMessagingVersionAggiornare il23.1.2.
variabile a
- La barra di stato predefinita di iOS ha cambiato l'animazione
FADE.
By following these steps and updating your code accordingly, you should now have successfully updated your project from Capacitor 4 to Capacitor 5. Make sure to test your application thoroughly to ensure that all features and plugins are working as expected.
Keep going from Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide
If sei 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 workflow del prodotto nella Capgo Directory dei Plugin. Capacitor Plugin da Capgo per i dettagli di implementazione in Capacitor Plugin da Capgo Aggiunta o Aggiornamento dei Plugin per i dettagli di implementazione in Aggiunta o Aggiornamento dei Plugin Sostituti dei Plugin Enterprise Ionic per il flusso di lavoro del prodotto nelle alternative del plugin Enterprise Ionic Capgo Costruzioni native per il workflow del prodotto in Capgo Costruzioni native.