Saltar al contenido principal
Capacitor

Actualizando desde Capacitor 4 a Capacitor 5: Un Guía Paso a Paso

Aprende a actualizar tu proyecto desde Capacitor 4 a Capacitor 5 con cambios mínimos, incluyendo la actualización de plugins oficiales y herramientas requeridas.

Créditos del artículo

Martin Donadieu

Escritor

Valeria

Revisor

Jordan

Editor

Actualizando desde Capacitor 4 a Capacitor 5: Un Guía Paso a Paso

Compared to previous updates, the transition from Capacitor 4 to Capacitor 5 involves minimal breaking changes. This guide provides step-by-step instructions for updating your project to Capacitor 5, as well as a list of breaking changes for official plugins.

Nota: Capacitor 5 requiere NodeJS 16 o superior, ya que Node 12 ha alcanzado el fin de vida y Node 14 alcanzará el fin de vida el 30 de abril de 2023. Se recomienda utilizar la versión LTS más reciente de NodeJS.

  1. Instale la latest versión de la Capacitor CLI en su proyecto:

    npm i -D @capacitor/cli@latest
  2. Ejecute el siguiente comando para que la CLI maneje la migración:

    npx cap migrate

    Si cualquier paso de migración no puede ser realizado, se proporcionará información adicional en la salida del terminal. Los pasos de migración manuales se enumeran a continuación.

  3. Si tiene instalado la extensión de VS Code, consulte la sección de recomendaciones de la extensión para encontrar la opción de migrar su proyecto a Capacitor 5.

Actualizando un proyecto de iOS de Capacitor 4 a Capacitor 5

  1. Actualice Xcode: Capacitor 5 requiere Xcode 14.1+.

  2. Actualice .gitignore: Haga los siguientes cambios en su .gitignore archivo:

    - App/Podfile.lock
    + App/output
  3. Actualizar Activos a utilizar un icono de aplicación únicoContexto: Página/área: Sección de ejemplos de soluciones de la página de soluciones. Rol: Texto de alternativa de la imagen. Visto en: componente solutions/SolutionAppExample.astro. Mensaje clave `solution_app_examples_icon_alt` (Texto de alternativa del icono de la aplicación de ejemplos de soluciones).

Upgrading Capacitor 4 Android Project to Capacitor 5

  1. Actualizando el proyecto de Android __CAPGO_KEEP_0__ 4 a __CAPGO_KEEP_1__ 5: 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.

  2. : __CAPGO_KEEP_0__ 5 requiere Android Studio Flamingo | 2022.2.1 o posterior debido al uso de Gradle 8, que requiere Java JDK 17. Java 17 viene con Android Studio Flamingo, por lo que no es necesario descargar nada adicional.Ejecutar Asistente de Actualización de AGP Tools -> AGP Upgrade Assistant.

  3. : Android Studio puede ayudar con algunas actualizaciones relacionadas con Gradle y mover paquetes a los archivos de compilación. Para empezar, ejecuteActualizar Variables del Proyecto de Android variables.gradle : En su archivo, actualice sus valores a los siguientes nuevos mínimos:

    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. Actualizar Servicios de Google:

    # build.gradle
    dependencies {
    -       classpath 'com.google.gms:google-services:4.3.13'
    +       classpath 'com.google.gms:google-services:4.3.15'
    }
  5. Actualizar plugin de 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. Actualizar wrapper de 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. Deshabilitar Jetifier:

    # gradle.properties
    android.useAndroidX=true
    - android.enableJetifier=true
  8. Mover paquete 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. : En __CAPGO_KEEP_0__ 6,: In Capacitor 6, https para aplicaciones existentes para mejorar la capacidad de las aplicaciones __CAPGO_KEEP_0__ de utilizar la característica de relleno automático del sistema. Para evitar la pérdida de datos como resultado de este cambio, establezca el esquema en androidScheme for existing apps to better enable Capacitor applications to use the system Autofill feature. To avoid data loss as a result of this change, set the scheme to http Actualizar versión de Kotlin

    {
      server: {
        androidScheme: "http"
      }
    }
  10. : Si su proyecto utiliza Kotlin, actualice laActualizar la versión de Kotlin kotlin_version variable a '1.8.20'.

Cambios en la funcionalidad de Plugin

La siguiente funcionalidad de plugin ha sido modificada o eliminada. Actualice su code según corresponda:

  • Ventana de Acción
  • Navegador
  • Cámara
  • Dispositivo
  • Ubicación
  • Mapas de Google
  • Notificaciones Locales
  • Notificaciones de Push
  • Barras de Estado

Ventana de Acción

  • Actualice el androidxMaterialVersion variable a 1.8.0.

Navegador

  • Actualice el androidxBrowserVersion variable a 1.5.0.

Cámara

  • Para Android 13, agregue la permiso de lectura de imágenes de medios (<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>en AndroidManifest.xml.
  • Actualice el androidxMaterialVersion variable a 1.8.0.
  • Actualice el androidxExifInterfaceVersion variable a 1.3.6.

Dispositivo

  • Cambiar DeviceId.uuid a DeviceId.identifier.
  • En iOS 16+ DeviceInfo.name devolverá un nombre de dispositivo genérico a menos que agregue los permisos adecuados Permisos de ubicación.

Actualizar el

  • a playServicesLocationVersion Google Maps 21.0.1.

Actualice las siguientes variables:

  • entitlements
    • googleMapsPlayServicesVersion Hasta 18.1.0.
    • googleMapsUtilsVersion Hasta 3.4.0.
    • googleMapsKtxVersion Hasta 3.4.0.
    • googleMapsUtilsKtxVersion Hasta 3.4.0.
    • kotlinxCoroutinesVersion Hasta 1.6.4.
    • androidxCoreKTXVersion Hasta 1.10.0.
    • kotlin_version Notificaciones locales 1.8.20.

Para Android 13, se requiere una nueva comprobación de permiso de ejecución para programar notificaciones locales cuando se dirija a __CAPGO_KEEP_0__ 33. Llame

  • For Android 13, a new runtime permission check is required to schedule local notifications when targeting SDK 33. Call checkPermissions() según consecuencia. requestPermissions() Notificaciones Push

Push Notifications

  • Foro Android 13 requiere una nueva comprobación de permisos de ejecución para recibir notificaciones push cuando se dirija a SDK 33. Llamar checkPermissions() y requestPermissions() por lo tanto.
  • Actualizar el firebaseMessagingVersion variable a 23.1.2.

Barra de Estado

  • En iOS, se ha cambiado la animación de la barra de estado por defecto a FADE.

Siguiendo estos pasos y actualizando su code según corresponda, debería tener actualizado con éxito su proyecto desde Capacitor 4 a Capacitor 5. Asegúrese de probar su aplicación exhaustivamente para asegurarse de que todas las características y plugins funcionen como se espera.

Siga adelante desde Actualizar desde Capacitor 4 a Capacitor 5: Una Guía Paso a Paso

Si está utilizando Actualización desde Capacitor 4 a Capacitor 5: Una Guía Paso a Paso para planificar el trabajo de plugin nativo, conecte con Capgo Carpeta de plugins para el flujo de trabajo del producto en Capgo Carpeta de plugins, Capacitor Plugins por Capgo para el detalle de implementación en Capacitor Plugins por Capgo, Agregar o actualizar plugins para el detalle de implementación en Agregar o actualizar plugins, Alternativas de plugins de Ionic Enterprise para el flujo de trabajo del producto en Alternativas de plugins de Ionic Enterprise, y Capgo Compilaciones nativas para el flujo de trabajo del producto en Capgo Compilaciones nativas.

Actualizaciones en vivo para aplicaciones Capacitor

Cuando un error de capa web está vivo, envía la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios obtienen la actualización en segundo plano mientras que los cambios nativos siguen en el camino de revisión normal.

soporte humano de Martin

Inicia ahora

Últimas noticias de nuestro Blog

Capgo te brinda las mejores perspectivas que necesitas para crear una aplicación móvil verdaderamente profesional.