Saltare al contenuto principale
Capacitor

Aggiornamento da Capacitor 4 a Capacitor 5: Guida Passo dopo Passo

Scopri come aggiornare il tuo progetto da Capacitor 4 a Capacitor 5 con modifiche minimamente invasive, compresi gli aggiornamenti dei plugin ufficiali e degli strumenti richiesti.

Martin Donadieu

Martin Donadieu

Responsabile del contenuto

Aggiornamento da Capacitor 4 a Capacitor 5: Guida passo dopo passo

A differenza degli 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 proprio 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.

  1. Installa la latest versione del Capacitor CLI nel proprio progetto:

    npm i -D @capacitor/cli@latest
  2. Esegui il seguente comando per far gestire la migrazione al CLI :

    npx cap migrate

    Se alcuni passaggi di migrazione non possono essere eseguiti, ulteriori informazioni saranno fornite nell'output del terminale. I passaggi di migrazione manuali sono elencati di seguito.

  3. Se hai installato l'estensione VS Code , controlla la sezione raccomandazioni dell'estensione per trovare l'opzione di migrare il proprio progetto a Capacitor 5.

Aggiornamento di Capacitor 4 Progetto iOS a Capacitor 5

  1. Aggiornamento di Xcode: Capacitor 5 richiede Xcode 14.1+.

  2. Aggiorna .gitignore: Esegui le seguenti modifiche al tuo .gitignore file:

    - App/Podfile.lock
    + App/output
  3. Aggiorna Assets per utilizzare un'icona di app unica: Xcode 14 supporta un'icona di app unica di 1024x1024. Pulisci il tuo AppIcon.appiconset eliminando tutte le dimensioni non necessarie.

Aggiornamento di Capacitor 4 Progetto Android a Capacitor 5

  1. Aggiornamento di Android Studio: Capacitor 5 richiede Android Studio Flamingo | 2022.2.1 o versione successiva 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.

  2. Esegui l'assistente di aggiornamento di AGP: Studio Android può aiutare con alcune aggiornamenti relativi a Gradle e il movimento dei pacchetti nei file di build. Per iniziare, esegui Tools -> AGP Upgrade Assistant.

  3. Aggiorna le variabili del progetto Android: Nel tuo variables.gradle file, 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'
  4. Aggiorna i servizi Google:

    # build.gradle
    dependencies {
    -       classpath 'com.google.gms:google-services:4.3.13'
    +       classpath 'com.google.gms:google-services:4.3.15'
    }
  5. 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'
    }
  6. 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
  7. Disabilita Jetifier:

    # gradle.properties
    android.useAndroidX=true
    - android.enableJetifier=true
  8. 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
  9. Aggiorna androidScheme: In Capacitor 6, https sarà la impostazione predefinita per androidScheme per le applicazioni esistenti per consentire meglio alle Capacitor applicazioni di utilizzare il sistema del completamento automatico. Per evitare la perdita di dati a causa di questo cambiamento, impostare lo schema a http ora, anche se è l'attuale impostazione predefinita.

    {
      server: {
        androidScheme: "http"
      }
    }
  10. Aggiorna la versione di Kotlin: Se il tuo progetto utilizza Kotlin, aggiorna il kotlin_version Modifiche alle funzionalità del plugin '1.8.20'.

Le seguenti funzionalità del plugin sono state modificate o eliminate. Aggiorna il tuo __CAPGO_KEEP_0__ in modo appropriato:

The following plugin functionality has been modified or removed. Update your code accordingly:

  • Navigatore
  • Camera
  • Dispositivo
  • Geolocalizzazione
  • Location
  • Google Maps
  • Notifiche Locali
  • Notifiche Push
  • Barra di Stato

Foglio di Azione

  • Aggiorna il androidxMaterialVersion variabile a 1.8.0.

Browser

  • Aggiorna il androidxBrowserVersion variabile a 1.5.0.

Camera

  • Per Android 13, aggiungi la permessione di lettura delle immagini dei media (<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>Inserisci AndroidManifest.xml.
  • Aggiorna androidxMaterialVersion la variabile a 1.8.0.
  • Aggiorna androidxExifInterfaceVersion la variabile a 1.3.6.

Dispositivo

  • Cambia DeviceId.uuid a DeviceId.identifier.
  • Sul iOS 16+ DeviceInfo.name ritorna un nome dispositivo generico a meno che non aggiungi le autorizzazioni appropriate Posizionamento geografico.

Geolocation

  • Aggiorna il playServicesLocationVersion a 21.0.1.

Google Maps

  • Aggiorna le seguenti variabili:
    • googleMapsPlayServicesVersion a 18.1.0.
    • googleMapsUtilsVersion a 3.4.0.
    • googleMapsKtxVersion a 3.4.0.
    • googleMapsUtilsKtxVersion a 3.4.0.
    • kotlinxCoroutinesVersion a 1.6.4.
    • androidxCoreKTXVersion a 1.10.0.
    • kotlin_version Notifiche Locali 1.8.20.

Notifiche Locali

  • Per Android 13, è richiesta una nuova verifica di autorizzazione runtime per programmare notifiche locali quando si mira a SDK 33. Chiamata checkPermissions() e requestPermissions() di conseguenza.

Notifiche Push

  • Per Android 13, è richiesta una nuova verifica di autorizzazione runtime per ricevere notifiche push quando si mira a SDK 33. Chiamata checkPermissions() e requestPermissions() di conseguenza.
  • Aggiorna il firebaseMessagingVersion variabile a 23.1.2.

Barra dello Stato

  • Su iOS, l'animazione di default della barra dello stato è stata cambiata a FADE.

Seguendo questi passaggi e aggiornando il tuo code di conseguenza, dovresti ora aver aggiornato con successo il tuo progetto da Capacitor 4 a Capacitor 5. Assicurati di testare il tuo'applicazione attentamente per assicurarti 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 dei Plugin per i dettagli di implementazione in Aggiunta o Aggiornamento dei Plugin, Alternative per Plugin Enterprise Ionic per il flusso di lavoro del prodotto in Alternative per Plugin Enterprise Ionic, e Capgo Costruzioni native per il flusso di lavoro del prodotto in Capgo Costruzioni native.

Aggiornamenti in tempo reale per Capacitor app

Quando un bug del layer web è attivo, invia la correzione attraverso Capgo invece di attendere giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Inizia Ora

Ultimi articoli dal nostro Blog

Capgo vi offre le migliori informazioni che hai bisogno per creare un'app mobile veramente professionale.