Im Vergleich zu vorherigen Updates beinhaltet die Übergang von Capacitor 4 auf Capacitor 5 minimal Änderungen. Dieser Leitfaden bietet Schritt-für-Schritt-Anweisungen zur Aktualisierung Ihres Projekts auf Capacitor 5 sowie eine Liste der Änderungen für offizielle Plugins.
Hinweis: Capacitor 5 requires NodeJS 16 or higher, as Node 12 has reached end-of-life and Node 14 will reach end-of-life on April 30th, 2023. It is recommended to use the latest LTS version of NodeJS.
-
Installationsanleitung
latestVersion des Capacitor CLI in Ihrem Projekt:npm i -D @capacitor/cli@latest -
Führen Sie den folgenden Befehl aus, um es dem CLI zu ermöglichen, die Migration zu verwalten:
npx cap migrateWenn keine Migrationsschritte erreicht werden können, werden weitere Informationen im Terminalausgabe bereitgestellt. Manuelle Migrationsschritte sind unten aufgeführt.
-
Wenn Sie die VS Code-Erweiterung installiert haben, überprüfen Sie die Empfehlungen in der Erweiterung, um die Option zu finden, Ihr Projekt auf Capacitor 5 umzustellen.
Capacitor 4 iOS-Projekt auf Capacitor 5 upgraden
-
Upgrade Xcode: Capacitor 5 erfordert Xcode 14.1+.
-
Update .gitignore: Führen Sie die folgenden Änderungen an Ihrem
.gitignoreDatei:- App/Podfile.lock + App/output -
Update Assets, um eine einzelne App-Ikone zu verwenden: Xcode 14 unterstützt eine einzelne App-Ikone von 1024x1024. Räumen Sie Ihr AppIcon.appiconset auf, indem Sie alle unnötigen Größen entfernen.
Capacitor auf Android 4 auf Capacitor 5 aktualisieren
-
Android Studio aktualisieren: Capacitor 5 erfordert Android Studio Flamingo | 2022.2.1 oder neuer, da aufgrund der Verwendung von Gradle 8 Java JDK 17 erforderlich ist. Java 17 ist in Android Studio Flamingo enthalten, daher sind keine zusätzlichen Downloads erforderlich.
-
AGP Upgrade Assistant ausführen: Android Studio kann bei einigen Updates im Zusammenhang mit Gradle und dem Verschieben von Paketen in Build-Dateien helfen. Um zu beginnen, führen Sie
Tools -> AGP Upgrade Assistant. -
Android-Projektvariablen aktualisieren: In Ihrem
variables.gradleDatei aktualisieren Sie Ihre Werte auf die folgenden neuen Mindestwerte: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' -
Google Services aktualisieren:
# build.gradle dependencies { - classpath 'com.google.gms:google-services:4.3.13' + classpath 'com.google.gms:google-services:4.3.15' } -
Gradle-Plugin auf 8.0.0 aktualisieren:
# build.gradle dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' + classpath 'com.android.tools.build:gradle:8.0.0' } -
Gradle-Wrapper auf 8.0.2 aktualisieren:
# 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 -
Jetifier deaktivieren:
# gradle.properties android.useAndroidX=true - android.enableJetifier=true -
Paket an einen anderen Ort verschieben
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 -
Android-Scheme aktualisieren: In Capacitor 6,
httpswird die Standard-Einstellung fürandroidSchemefür bestehende Apps, um Capacitor-Anwendungen besser die Möglichkeit zu geben, das System-Fill-Funktion zu nutzen. Um Datenverlust zu vermeiden, der durch diese Änderung entsteht, setzen Sie den Scheme aufhttpjetzt, auch wenn es die aktuelle Standard-Einstellung ist.{ server: { androidScheme: "http" } } -
Kotlin-Version aktualisieren: Wenn Ihr Projekt Kotlin verwendet, aktualisieren Sie die
kotlin_versionVariablen auf'1.8.20'.
Änderungen in der Plugin-Funktionalität
Die folgende Plugin-Funktionalität wurde geändert oder entfernt. Aktualisieren Sie Ihre code entsprechend:
- Aktionsschaltfläche
- Browser
- Kamera
- Gerät
- Standort
- Google Maps
- Lokale Benachrichtigungen
- Push-Benachrichtigungen
- Statusleiste
Aktionsschaltfläche
- Aktualisieren Sie das
androidxMaterialVersion__CAPGO_KEEP_0__1.8.0.
Browser
- Aktualisieren Sie das
androidxBrowserVersionVariable auf1.5.0.
Kamera
- Für Android 13 fügen Sie die Leseberechtigung für Medienbilder (
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>) inAndroidManifest.xml. - Aktualisieren Sie das
androidxMaterialVersionVariable auf1.8.0. - Aktualisieren Sie das
androidxExifInterfaceVersionVariable auf1.3.6.
Gerät
- Wechseln
DeviceId.uuidaufDeviceId.identifier. - Auf iOS 16+
DeviceInfo.namewird eine generische Gerätenamen zurückgegeben, es sei denn, Sie fügen die entsprechenden Zugriffsrechte.
Geolocation
- Aktualisieren Sie
playServicesLocationVersionzu21.0.1.
Google Maps
- Aktualisieren Sie die folgenden Variablen:
googleMapsPlayServicesVersionzu18.1.0.googleMapsUtilsVersionzu3.4.0.googleMapsKtxVersionzu3.4.0.googleMapsUtilsKtxVersionzu3.4.0.kotlinxCoroutinesVersionzu1.6.4.androidxCoreKTXVersionzu1.10.0.kotlin_versionzu1.8.20.
Lokale Benachrichtigungen
- Für Android 13 ist ein neuer Laufzeitberechtigungsprüfung erforderlich, um lokale Benachrichtigungen zu planen, wenn SDK 33. Aufruf angegeben ist. Ruf
checkPermissions()undrequestPermissions()entsprechend.
Push-Benachrichtigungen
- Für Android 13 ist ein neuer Laufzeitberechtigungsprüfung erforderlich, um Push-Benachrichtigungen zu empfangen, wenn SDK 33. Aufruf angegeben ist. Ruf
checkPermissions()undrequestPermissions()entsprechend. - Aktualisieren Sie
firebaseMessagingVersionVariablen zu23.1.2.
Statusleiste
- Bei iOS wurde die Standardanimation der Statusleiste geändert in
FADE.
Indem Sie diese Schritte befolgen und Ihr code entsprechend aktualisieren, sollten Sie nun erfolgreich Ihr Projekt von Capacitor 4 auf Capacitor 5 aktualisiert haben. Stellen Sie sicher, dass Sie Ihre Anwendung gründlich testen, um sicherzustellen, dass alle Funktionen und Plugins wie erwartet funktionieren.
Weitermachen von Updating von Capacitor 4 auf Capacitor 5: Ein Schritt-für-Schritt-Leitfaden
Wenn Sie Updating von Capacitor 4 auf Capacitor 5: Ein Schritt-für-Schritt-Leitfaden um native Plugin-Arbeit zu planen, verbinden Sie es mit Capgo Plugin-Verzeichnis für den Produktworkflow in Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo für die Implementierungsdetails in Capacitor Plugins von Capgo Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren Alternativen zu Enterprise-Plugins von Ionic für den Produktworkflow in Alternativen zu Enterprise-Plugins von Ionic Capgo Native Builds für den Produktworkflow in Capgo Native Builds