Im Vergleich zu vorherigen Updates beinhaltet die Übergabe von Capacitor 4 zu Capacitor 5 nur minimale Bruchänderungen. Diese Anleitung bietet Schritt-für-Schritt-Anweisungen zur Aktualisierung Ihres Projekts auf Capacitor 5 sowie eine Liste der Bruchänderungen für offizielle Plugins.
Anmerkung: Capacitor 5 erfordert NodeJS 16 oder höher, da Node 12 bereits aus dem Support heraus ist und Node 14 am 30. April 2023 aus dem Support heraus sein wird. Es wird empfohlen, die neueste LTS-Version von NodeJS zu verwenden.
-
Installieren Sie die
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 nicht alle Schritte erreicht werden können, werden weitere Informationen im Terminaloutput 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
-
Upgrade Xcode: Capacitor 5 erfordert Xcode 14.1+.
-
.gitignore aktualisieren: Führen Sie folgende Änderungen durch:
.gitignoreDatei:- App/Podfile.lock + App/output -
Update Assets verwenden Sie ein einzelnes App-IconKontext: Seite/Bereich: Lösungsbereich App-Beispielabschnitt. Rolle: Bildbeschreibungstext. Gesehen in: Komponentenlösungen/SolutionAppExample.astro. Nachrichtenschlüssel `solution_app_examples_icon_alt` (Lösung App Beispiele Icon Beschreibung).
Upgrading Capacitor 4 Android Project to Capacitor 5
-
Upgrade von __CAPGO_KEEP_0__ 4 Android-Projekt zu __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.
-
: __CAPGO_KEEP_0__ 5 erfordert Android Studio Flamingo | 2022.2.1 oder neuer aufgrund der Verwendung von Gradle 8, das Java JDK 17 erfordert. Java 17 ist in Android Studio Flamingo enthalten, daher sind keine zusätzlichen Downloads erforderlich.AGP Upgrade Assistant ausführen
Tools -> AGP Upgrade Assistant. -
: Android Studio kann bei einigen Updates im Zusammenhang mit Gradle und der Umstellung von Paketen in Build-Dateien helfen. Um zu beginnen, führen SieUpdate Android-Projektvariablen
variables.gradle: In Ihrem Datei 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 zu
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 -
: In __CAPGO_KEEP_0__ 6: In Capacitor 6,
httpsfür bestehende Apps, um __CAPGO_KEEP_0__-Anwendungen besser die Nutzung des System-Autofill-Funktionen zu ermöglichen. Um Datenverlust zu vermeiden, der durch diese Änderung entsteht, setzen Sie den Scheme aufandroidSchemefor 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 tohttpKotlin-Version aktualisieren{ server: { androidScheme: "http" } } -
: Aktualisieren Sie die Kotlin-Version, wenn Ihr Projekt Kotlin verwendetJetzt: Wenn Ihr Projekt Kotlin verwendet
kotlin_versionvariable zu'1.8.20'.
Änderungen in der Pluginfunktion
Die folgenden Pluginfunktionen wurden geändert oder entfernt. Aktualisieren Sie code entsprechend:
- Action Sheet
- Browser
- Kamera
- Gerät
- Ortung
- Google Maps
- Lokale Benachrichtigungen
- Push-Benachrichtigungen
- Statusleiste
Aktionsschaltfläche
- Aktualisieren Sie das
androidxMaterialVersionVariablenwert auf1.8.0.
Browser
- Aktualisieren Sie das
androidxBrowserVersionVariablenwert auf1.5.0.
Kamera
- Für Android 13 fügen Sie die Leseberechtigung für Medienbilder hinzu (
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>inAndroidManifest.xml. - Aktualisieren Sie das
androidxMaterialVersionVariablenwert auf1.8.0. - Update the
androidxExifInterfaceVersionvariable zu1.3.6.
Gerät
- Ändern
DeviceId.uuidzuDeviceId.identifier. - context: Produktseite für Live-Updates. Rolle: Kurzer Benutzerschnittstelle-Label oder Navigationselement. Schlüssel für die Nachricht `live_update_dynamic_label_to` (Live-Update-Dynamischer Label zu).
DeviceInfo.nameauf iOS 16+ wird ein generisches Gerätename zurückgeben, es sei denn, Sie fügen die entsprechenden.
Zugriffsberechtigungen
- Standort
playServicesLocationVersionaktualisieren Sie das21.0.1.
zu
- context: Produktseite für Live-Updates. Rolle: Kurzer Benutzerschnittstelle-Label oder Navigationselement. Schlüssel für die Nachricht `live_update_dynamic_label_to` (Live-Update-Dynamischer Label zu).
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üfungsaufruf erforderlich, um lokale Benachrichtigungen zu planen, wenn Sie sich auf SDK 33 richten.
checkPermissions()undrequestPermissions()entsprechend.
Push-Benachrichtigungen
- For Android 13 ist eine neue Laufzeitberechtigungsprüfung erforderlich, um Push-Benachrichtigungen zu erhalten, wenn SDK 33. Aufruf
checkPermissions()undrequestPermissions()entsprechend. - aktualisieren Sie
firebaseMessagingVersiondie23.1.2.
Statusleiste
- Bei iOS wurde die Standardanimation der Statusleiste geändert in
FADE.
Indem Sie diese Schritte befolgen und Ihre code entsprechend aktualisieren, sollten Sie jetzt erfolgreich Ihre 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 Updating von Capacitor 4 auf Capacitor 5: Eine Schritt-für-Schritt-Anleitung
Wenn Sie __CAPGO_KEEP_0__ 4 verwenden Updating von Capacitor 4 auf Capacitor 5: Eine Schritt-für-Schritt-Anleitung um native Plugin-Arbeit zu planen, verbinden Sie es mit Capgo Plugin Directory zur Produktionsablauf in Capgo Plugin Directory Capacitor Plugins von Capgo zur Implementierungsdetails in Capacitor Plugins von Capgo Hinzufügen oder Aktualisieren von Plugins zur Implementierungsdetails in Hinzufügen oder Aktualisieren von Plugins Ionische Unternehmens-Plugin-Alternativen zur Produktionsablauf in Ionische Unternehmens-Plugin-Alternativen, und Capgo Native Builds zur Produktionsablauf in Capgo Native Builds.