Im Vergleich zu vorherigen Updates beinhaltet die Übergabe von Capacitor 4 auf Capacitor 5 minimalen Bruchstellen. Diese Anleitung bietet Schritt-für-Schritt-Anweisungen zur Aktualisierung Ihres Projekts auf Capacitor 5 sowie eine Liste der Bruchstellen für offizielle Plugins.
Hinweis: Capacitor 5 erfordert NodeJS 16 oder höher, da Node 12 aus dem Support herausgenommen wurde und Node 14 am 30. April 2023 aus dem Support herausgenommen wird. Es wird empfohlen, die neueste LTS-Version von NodeJS zu verwenden.
-
Installieren Sie das
latestVersion der Capacitor CLI in Ihrem Projekt:npm i -D @capacitor/cli@latest -
Führen Sie den folgenden Befehl aus, um der CLI die Migration zu übernehmen:
npx cap migrateWenn bei den Migrationsschritten Probleme auftreten, 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 zu migrieren.
Capacitor 4 iOS-Projekt auf Capacitor 5 upgraden
-
Xcode aktualisieren: Capacitor 5 erfordert Xcode 14.1+.
-
.gitignore aktualisieren: Führen Sie die folgenden Änderungen an Ihrem
.gitignoreDatei:- App/Podfile.lock + App/output -
Assets aktualisieren, um ein einzelnes App-Icon zu verwendenKontext: Seite/Bereich: Lösungsseite App-Beispiele. Rolle: Bildbeschreibungstext. Gesehen in: Komponente Lösung/Beispiel für Lösungsanwendung. Nachrichtenschlüssel `solution_app_examples_icon_alt` (Lösungsanwendungs-Beispiel-Icon-Beschreibung). : Xcode 14 unterstützt ein einzelnes App-Icon der Größe 1024x1024. Reinigen Sie Ihre AppIcon.appiconset, indem Sie alle überflüssigen Größen entfernen.
Capacitor 4 Android-Projekt 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-Assistent ausführen: Android Studio kann bei einigen Updates im Zusammenhang mit Gradle und der Umstellung von Paketen in Build-Dateien helfen. Um zu beginnen, führen Sie
Tools -> AGP Upgrade Assistant. -
Android-Projekt-Variablen 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 -
Package umziehen auf
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 Einstellung nun Standard sein fürandroidSchemebestehende Apps, um Capacitor-Anwendungen besser die Nutzung des System-Autofill-Funktionen zu ermöglichen. Um Datenverlust zu vermeiden, der durch diese Änderung entsteht, setzen Sie den Scheme aufhttpjetzt, selbst 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:
- Action Sheet
- Browser
- Kamera
- Gerät
- Ortung
- Google Maps
- Lokale Benachrichtigungen
- Push-Benachrichtigungen
- Statusleiste
Aktionstabelle
- aktualisieren Sie die
androidxMaterialVersionVariablen auf1.8.0.
Browser
- aktualisieren Sie die
androidxBrowserVersionzu1.5.0.
Kamera
- Für Android 13 fügen Sie die Berechtigung zum Lesen von Medienbildern hinzu (
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>) inAndroidManifest.xml. - aktualisieren Sie die
androidxMaterialVersionzu1.8.0. - aktualisieren Sie die
androidxExifInterfaceVersionzu1.3.6.
Gerät
- Ändern
DeviceId.uuidzuDeviceId.identifier. - Auf iOS 16+,
DeviceInfo.namewird eine allgemeine Gerätenamen zurückgegeben, es sei denn, Sie fügen die entsprechenden Zugriffsrechte hinzu.
Geolocation
- Aktualisieren Sie das
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 eine neue Laufzeitberechtigungsprüfung erforderlich, um lokale Benachrichtigungen zu planen, wenn SDK 33 angepeilt wird. Ruf
checkPermissions()undrequestPermissions()entsprechend.
Push-Benachrichtigungen
- Für Android 13 ist eine neue Laufzeitberechtigungsprüfung erforderlich, um Push-Benachrichtigungen zu empfangen, wenn SDK 33 angepeilt wird. Ruf
checkPermissions()undrequestPermissions()entsprechend. - Aktualisieren
firebaseMessagingVersionvariable zu23.1.2.
Statusleiste
- Bei iOS wurde die Standardanimation der Statusleiste geändert zu
FADE.
Indem Sie diese Schritte befolgen und Ihr code entsprechend aktualisieren, sollten Sie jetzt 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.
Fortsetzen von Aktualisierung von Capacitor 4 auf Capacitor 5: Eine Schritt-für-Schritt-Anleitung
Wenn Sie __CAPGO_KEEP_0__ verwenden Aktualisierung von Capacitor 4 auf Capacitor 5: Eine Schritt-für-Schritt-Anleitung um native Plugin-Arbeit zu planen, verbinden Sie es mit Capgo Plugin-Verzeichnis zur Produktworkflow in Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo zur Implementierungsdetail in Capacitor Plugins von Capgo, Plugins hinzufügen oder aktualisieren für die Implementierungsdetails in Plugins hinzufügen oder aktualisieren Ionische Unternehmens-Plugin-Alternativen für das Produktworkflow in Ionische Unternehmens-Plugin-Alternativen, und Capgo Native Builds für das Produktworkflow in Capgo Native Builds.