En comparaison des mises à jour précédentes, la transition de Capacitor 4 à Capacitor 5 implique des changements de rupture minimaux. Ce guide fournit des instructions étape par étape pour mettre à jour votre projet vers Capacitor 5, ainsi qu'une liste des changements de rupture pour les plugins officiels.
Note: Capacitor 5 nécessite NodeJS 16 ou supérieur, car Node 12 a atteint la fin de vie et Node 14 atteindra la fin de vie le 30 avril 2023. Il est recommandé d'utiliser la dernière version LTS de NodeJS.
-
Installez le
latestversion de la Capacitor CLI dans votre projet :npm i -D @capacitor/cli@latest -
Exécutez la commande suivante pour laisser la CLI gérer la migration :
npx cap migrateSi les étapes de migration ne peuvent pas être effectuées, des informations supplémentaires seront fournies dans la sortie de la console. Les étapes de migration manuelles sont listées ci-dessous.
-
Si vous avez l'extension VS Code installée, consultez la section recommandations de l'extension pour trouver l'option de migration de votre projet vers Capacitor 5.
Mise à niveau de Capacitor 4 projet iOS vers Capacitor 5
-
Mettre à niveau Xcode: Capacitor 5 nécessite Xcode 14.1+.
-
Mettre à jour .gitignore: Apportez les modifications suivantes à votre
.gitignorefichier :- App/Podfile.lock + App/output -
Mettre à jour les Assets pour utiliser un seul icône d'applicationcontext : Page/zone : Page de solution exemple d'application. Rôle : Texte d'alt de l'image. Vu dans : composant solutions/SolutionAppExample.astro. Clé de message `solution_app_examples_icon_alt` (Texte d'alt de l'icône de l'exemple d'application de la solution). Message clé `solution_app_examples_icon_alt` (Solution App Examples Icon Alt). : Xcode 14 prend en charge un seul icône d'application de 1024x1024. Nettoyez votre AppIcon.appiconset en supprimant toutes les tailles inutiles.
Mettre à jour Capacitor 4 projet Android vers Capacitor 5
-
Mettre à jour Android Studio: Capacitor 5 nécessite Android Studio Flamingo | 2022.2.1 ou une version plus récente en raison de l'utilisation de Gradle 8, qui nécessite Java JDK 17. Java 17 est livré avec Android Studio Flamingo, il n'est donc pas nécessaire de télécharger quoi que ce soit de plus.
-
Démarrer l'assistant de mise à jour AGP: Android Studio peut aider avec certaines mises à jour liées à Gradle et au déplacement de packages dans les fichiers de construction. Pour commencer, exécutez
Tools -> AGP Upgrade Assistant. -
Mettre à jour les variables du projet Android: Dans votre
variables.gradleMettre à jour vos valeurs pour les nouveaux minimums suivants :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' -
Mettre à jour les services Google:
# build.gradle dependencies { - classpath 'com.google.gms:google-services:4.3.13' + classpath 'com.google.gms:google-services:4.3.15' } -
Mettre à jour le plugin Gradle à 8.0.0:
# build.gradle dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.android.tools.build:gradle:8.0.0' } -
Mettre à jour le wrapper Gradle à 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 -
Désactiver Jetifier:
# gradle.properties android.useAndroidX=true - android.enableJetifier=true -
Déplacez le package vers
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 -
Mettez à jour androidScheme: À partir de Capacitor 6,
httpssera la configuration par défaut pourandroidSchemepour les applications existantes afin de mieux permettre aux applications Capacitor d'utiliser la fonctionnalité Autofill du système. Pour éviter toute perte de données en raison de cette modification, définissez le schéma surhttpmaintenant, même si c'est la configuration par défaut actuelle.{ server: { androidScheme: "http" } } -
Mettez à jour la version Kotlin: Si votre projet utilise Kotlin, mettez à jour le
kotlin_versionvariable à'1.8.20'.
Changements de fonctionnalité des plugins
Les fonctionnalités suivantes des plugins ont été modifiées ou supprimées. Mettez à jour votre code en conséquence :
- Feuille de dialogue d'action
- Navigateur
- Caméra
- Appareil
- Localisation
- Cartes Google
- Notifications locales
- Notifications Push
- Barre de statut
Feuille de tâches
- Mettre à jour le
androidxMaterialVersionvariable à1.8.0.
Navigateur
- Mettre à jour la
androidxBrowserVersionla variable à1.5.0.
Camera
- Pour Android 13, ajoutez la permission de lecture des images de médias (
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>) dansAndroidManifest.xml. - Mettre à jour la
androidxMaterialVersionla variable à1.8.0. - Mettre à jour la
androidxExifInterfaceVersionla variable à1.3.6.
Appareil
- Changer
DeviceId.uuidàDeviceId.identifier. - Sur iOS 16+,
DeviceInfo.namesauf que vous ajoutez les autorisations appropriées les autorisations de localisation.
Mise à jour de la
- à
playServicesLocationVersionGoogle Maps21.0.1.
Mise à jour des variables suivantes :
- à
googleMapsPlayServicesVersionà18.1.0.googleMapsUtilsVersionà3.4.0.googleMapsKtxVersionà3.4.0.googleMapsUtilsKtxVersionà3.4.0.kotlinxCoroutinesVersionà1.6.4.androidxCoreKTXVersionà1.10.0.kotlin_versionà1.8.20.
Notifications locales
- Pour Android 13, une nouvelle vérification de permission d'exécution est requise pour planifier les notifications locales lors de la cible de SDK 33. Appelez
checkPermissions()etrequestPermissions()selon les besoins.
Notifications Push
- Pour Android 13, une nouvelle vérification de permission d'exécution est requise pour recevoir les notifications push lors de la cible de SDK 33. Appelez
checkPermissions()etrequestPermissions()selon les besoins. - Mettre à jour le
firebaseMessagingVersionvariable à23.1.2.
Barre de statut
- On iOS, l'animation de la barre de statut par défaut a été modifiée en
FADE.
En suivant ces étapes et en mettant à jour votre code en conséquence, vous devriez maintenant avoir mis à jour votre projet avec succès de Capacitor 4 à Capacitor 5. Assurez-vous de tester votre application soigneusement pour vous assurer que toutes les fonctionnalités et les plugins fonctionnent comme prévu.
Continuez de Updating de Capacitor 4 à Capacitor 5 : Guide étape par étape
Si vous utilisez Updating de Capacitor 4 à Capacitor 5 : Guide étape par étape pour planifier le travail de plugin natif, connectez-l’avec Répertoire de plugin Capgo pour le flux de travail du produit dans Répertoire de plugin Capgo Répertoire de plugins Capacitor par Capgo pour les détails d'implémentation dans Répertoire de plugins Capacitor par Capgo Mise à jour ou Mise à jour des plugins pour le détail d'implémentation dans Mise à jour ou Mise à jour des plugins, Alternatives de plugins Ionic Enterprise pour le flux de travail du produit dans Alternatives de plugins Ionic Enterprise, et Mise à jour des builds natifs Capgo pour le flux de travail du produit dans Mise à jour des builds natifs Capgo.