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マイグレーションステップが実行できなかった場合、追加情報はターミナル出力に表示されます。 マニュアルマイグレーションステップは以下に記載されています。
-
VS Code拡張機能がインストールされている場合、拡張機能の推奨事項のセクションに移動し、プロジェクトをCapacitor 5にマイグレートするオプションを確認してください。
Capacitor 4 iOSプロジェクトをCapacitor 5にアップグレードする
-
XcodeをアップグレードしてくださいCapacitor 5には、Xcode 14.1以上が必要です。
-
.gitignoreを更新してください: __CAPGO_KEEP_0__ の設定を変更してください
.gitignorefile:- 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.gradlefileminSdkVersion = 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を更新:
# 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のデフォルト設定となります。androidSchemeの既存のアプリケーションには、Capacitor アプリケーションがシステムのオートフィル機能を使用できるようにするために、を設定することをお勧めします。httpこの変更の結果としてデータの喪失を避けるために、を{ server: { androidScheme: "http" } } -
に設定することをお勧めします。現在のデフォルト設定です。なぜなら、
kotlin_version変数を'1.8.20'.
プラグインの機能変更
以下のプラグインの機能が変更または削除されました。codeを更新してください:
- アクションシート
- ブラウザ
- カメラ
- デバイス
- 位置情報
- Google Maps
- ローカル通知
- プッシュ通知
- ステータスバー
アクション シート
- アップデート
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__
- __CAPGO_KEEP_7__
playServicesLocationVersion__CAPGO_KEEP_8__21.0.1.
__CAPGO_KEEP_9__
- __CAPGO_KEEP_10__をGoogle Mapsに更新する
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
Capgoを使用している場合 Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide を使用して、ネイティブ プラグインの作業を計画するには、接続する必要があります Capgo プラグイン ディレクトリ Capgo プラグイン ディレクトリの製品ワークフローについて Capacitor プラグイン (Capgo によって提供) Capacitor プラグイン (Capgo によって提供)の実装詳細について プラグインの追加または更新 プラグインの追加または更新の実装詳細について Ionic Enterprise プラグインの代替 Ionic Enterprise プラグインの代替の製品ワークフローについて Capgo ネイティブ ビルド Capgo ネイティブ ビルドの製品ワークフローについて