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.
注意Capacitor 5では、Node 12はすでにエンドオブライフに達し、Node 14は2023年4月30日にエンドオブライフに達するため、NodeJS 16以上が必要です。最新のLTSバージョンのNodeJSを使用することをお勧めします。
-
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__の
latestversion of the Capacitor CLI in your project:npm i -D @capacitor/cli@latest -
CLIがマイグレーションを処理するように指示するコマンドを実行してください。
npx cap migrateマイグレーションステップが実行できない場合は、ターミナル出力に追加情報が提供されます。マニュアルマイグレーションステップは以下に記載されています。
-
If you have the VS Code extension installed, check the recommendations section of the extension to find the option to migrate your project to Capacitor 5.
Upgrading Capacitor 4 iOS Project to Capacitor 5
-
XcodeのアップグレードCapacitor 5では、Xcode 14.1以上が必要です。
-
.gitignoreのアップデート: __CAPGO_KEEP_0__ の設定を変更してください
.gitignoreファイル:- App/Podfile.lock + App/output -
Update Assets を使用してアプリのアイコンを 1 つに更新する: Xcode 14 では、1024x1024 のアプリのアイコンをサポートしています。AppIcon.appiconset を整理して、不要なサイズをすべて削除してください。
Upgrading Capacitor 4 の Android Project を Capacitor 5 にアップグレードする
-
Android Studio をアップグレードする: Capacitor 5 では、Gradle 8 を使用するため、Java JDK 17 が必要です。Java 17 は Android Studio Flamingo に含まれているため、追加のダウンロードは必要ありません。
-
AGP Upgrade Assistant を実行する: Android Studio は、Gradle に関する更新とパッケージをビルドファイルに移動するのに役立ちます。開始するには、
Tools -> AGP Upgrade Assistant. -
Android Project Variables を更新する: __CAPGO_KEEP_0__ ファイルを更新して、次の新しい最小値に値を設定してください
variables.gradle: __CAPGO_KEEP_0__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 サービスを更新:
# build.gradle dependencies { - classpath 'com.google.gms:google-services:4.3.13' + classpath 'com.google.gms:google-services:4.3.15' } -
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' } -
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 -
Jetifier を無効にする:
# gradle.properties android.useAndroidX=true - android.enableJetifier=true -
パッケージを
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 -
androidScheme を更新: Capacitor 6 に
https__CAPGO_KEEP_0__ を使用するシステムの Autofill 機能を利用できるようにするために、既存のアプリケーションに __CAPGO_KEEP_0__ を設定するandroidSchemefor 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 tohttp現在のデフォルト値でもある{ server: { androidScheme: "http" } } -
Kotlin のバージョンを更新: Kotlin を使用するプロジェクトの場合、Kotlin のバージョンを更新する
kotlin_version変数を'1.8.20'.
プラグインの機能変更
code を更新してください: 次のプラグインの機能が変更または削除されました。
- アクション シート
- ブラウザ
- カメラ
- デバイス
- 位置情報
- Google マップ
- ローカル通知
- プッシュ通知
- ステータス バー
アクション シート
- アップデート
androidxMaterialVersion変数を1.8.0.
ブラウザ
- アップデート
androidxBrowserVersion変数を1.5.0.
カメラ
- Android 13 の場合、読み取り専用のメディア イメージの権限 (
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>) を追加してください。AndroidManifest.xml. - アップデート
androidxMaterialVersion変数を1.8.0. - アップデート
androidxExifInterfaceVersion__CAPGO_KEEP_0__を変数に1.3.6.
__CAPGO_KEEP_1__
- __CAPGO_KEEP_2__
DeviceId.uuid__CAPGO_KEEP_3__DeviceId.identifier. - iOS 16以降では、
DeviceInfo.name__CAPGO_KEEP_4__が適切に設定されていない場合、一般的なデバイス名が返されます。 __CAPGO_KEEP_5__.
位置情報
- __CAPGO_KEEP_6__を更新する
playServicesLocationVersion__CAPGO_KEEP_7__21.0.1.
Google Maps
- __CAPGO_KEEP_8__を更新する:
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.
ローカル通知
- Android 13 の場合、ローカル通知をスケジュールするためにターゲットとする SDK 33 を指定するには、新しい実行時許可チェックが必要です。
checkPermissions()とrequestPermissions()したがって。
プッシュ通知
- Android 13では、SDK 33をターゲットにした場合にプッシュ通知を受信するには、新しい実行時許可チェックが必要です。Call
checkPermissions()とrequestPermissions()従って。 - 更新する
firebaseMessagingVersion変数を23.1.2.
ステータス バー
- iOSでは、デフォルトのステータス バー アニメーションが変更されました。
FADE.
これらのステップに従い、code を更新すると、Capacitor 4からCapacitor 5へのプロジェクトの更新が正常に完了するはずです。すべての機能とプラグインが予想どおりに動作することを確認するために、必ずアプリケーションを徹底的にテストしてください。
Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide
を使用している場合 Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide を使用してネイティブ プラグインの作業を計画するには、接続する必要があります Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリの製品ワークフローについて Capacitor プラグイン (Capgo によって) Capacitor プラグイン (Capgo によって)の実装詳細について プラグインの追加または更新 プラグインの追加または更新の実装詳細について Ionic Enterprise プラグインの代替 Ionic Enterprise プラグインの代替の製品ワークフローについて Capgo ネイティブ ビルド Capgo ネイティブ ビルドの製品ワークフローについて