前回のアップデートと比較すると、Capacitor 4 から Capacitor 5 への移行には最小限の破壊的な変更が伴います。このガイドでは、Capacitor 5 にアップグレードするためのステップバイステップの手順、および公式プラグインの破壊的な変更のリストを提供します。
注意: Capacitor 5 は、Node 12 はエンドオブライフに達し、Node 14 は 2023 年 4 月 30 日にエンドオブライフに達するため、NodeJS 16 またはそれ以上が必要です。最新の LTS バージョンの NodeJS を使用することをお勧めします。
-
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__ の
latestプロジェクトにインストールされている Capacitor CLI のnpm i -D @capacitor/cli@latest -
以下のコマンドを実行して、CLI がマイグレーションを処理するようにします。
npx cap migrateマイグレーションステップが実行できなかった場合、追加情報はターミナル出力に表示されます。マニュアルマイグレーションステップは以下に記載されています。
-
VS Code 拡張機能がインストールされている場合、拡張機能の推奨事項のセクションに移動し、プロジェクトを Capacitor 5 にマイグレートするオプションを確認してください。
アップグレード Capacitor 4 iOS Project を Capacitor 5 に
-
Xcode をアップグレード: Capacitor 5 は Xcode 14.1 以降が必要です。
-
.gitignore をアップデート: 以下の変更を行ってください。
.gitignoreファイル:- App/Podfile.lock + App/output -
.gitignore をアップデート: アプリのアイコンを 1 つに使用するようにアセットをアップデートしてください。
Upgrading Capacitor 4 Android Project to Capacitor 5
-
アップグレード __CAPGO_KEEP_0__ 4 Android Project を __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 は Android Studio Flamingo | 2022.2.1 またはそれ以降が必要です。Gradle 8 の使用により、Java JDK 17 が必要です。Java 17 は Android Studio Flamingo に含まれているため、追加のダウンロードは必要ありません。: Android Studio は、Gradle に関する更新やパッケージのビルドファイルへの移動に役立ちます。始めるには、
Tools -> AGP Upgrade Assistant. -
Update Android Project Variables: Android Studio の
variables.gradleファイルに、値を以下の新しい最小値に更新してください。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' -
Update 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 -
Update androidScheme: Capacitor 6 では、
httpsデフォルトの設定になります。androidScheme既存のアプリケーションで、Capacitor アプリケーションがシステムのオートフィル機能を使用できるようにするために改善します。 この変更の結果としてデータの喪失を避けるには、スキームをhttp現在、デフォルトの値でもかまいません。{ server: { androidScheme: "http" } } -
Kotlinのバージョンを更新する: Kotlinを使用するプロジェクトの場合、
kotlin_version変数を'1.8.20'.
プラグインの機能変更
以下のプラグインの機能が変更または削除されました。 code を更新してください:
- アクションシート
- ブラウザ
- カメラ
- デバイス
- 位置情報
- Google Maps
- ローカル通知
- プッシュ通知
- ステータスバー
アクションシート
- を更新してください
androidxMaterialVersion__CAPGO_KEEP_0__を1.8.0.
ブラウザ
- を更新してください
androidxBrowserVersion__CAPGO_KEEP_0__を1.5.0.
カメラ
- Android 13の場合、読み取り専用のメディア画像の許可を追加してください
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>) inAndroidManifest.xml. - Update the
androidxMaterialVersionvariable to1.8.0. - Update the
androidxExifInterfaceVersionvariable to1.3.6.
Device
- Change
DeviceId.uuidtoDeviceId.identifier. - On iOS 16+,
DeviceInfo.namewill return a generic device name unless you add the appropriate entitlements.
Geolocation
- を更新してください
playServicesLocationVersion__CAPGO_KEEP_0__21.0.1.
をGoogle Mapsに更新してください
- を更新してください
googleMapsPlayServicesVersion__CAPGO_KEEP_0__18.1.0.googleMapsUtilsVersion__CAPGO_KEEP_0__3.4.0.googleMapsKtxVersion__CAPGO_KEEP_0__3.4.0.googleMapsUtilsKtxVersion__CAPGO_KEEP_0__3.4.0.kotlinxCoroutinesVersion__CAPGO_KEEP_0__1.6.4.androidxCoreKTXVersion__CAPGO_KEEP_0__1.10.0.kotlin_version__CAPGO_KEEP_0__1.8.20.
ローカル通知
- Android 13では、SDK 33. Callをターゲットにした場合にローカル通知をスケジュールするために、新しいランタイムパーミッションチェックが必要です。Call
checkPermissions()とrequestPermissions()従って。
プッシュ通知
- Android 13では、SDK 33. Callをターゲットにした場合にプッシュ通知を受信するために、new runtime permission checkが必要です。Call
checkPermissions()とrequestPermissions()従って。 - を更新する
firebaseMessagingVersion変数23.1.2.
ステータスバー
- iOSでは、デフォルトのステータスバーアニメーションが変更されました。
FADE.
これらのステップに従い、codeを更新すると、Capacitor 4からCapacitor 5にプロジェクトを成功裏に更新できました。アプリケーションを徹底的にテストして、すべての機能とプラグインが期待どおりに動作することを確認してください。
Capacitor から Capacitor までのアップデート: ステップバイステップガイド
Capacitor を使用している場合 Capacitor から Capacitor までのアップデート: ステップバイステップガイド ネイティブ プラグインの作業を計画する場合、Capacitor を接続します。 Capgo プラグイン ディレクトリ for the product workflow in Capgo Plugin Directory, Capacitor Plugins by Capgo for the implementation detail in Capacitor Plugins by Capgo, Capacitor のプラグインの実装詳細 プラグインの追加または更新 プラグインの実装詳細 Capacitor の代替品としての Ionic Enterprise Plugin Capgo Native Builds Capgo Native Buildsの製品ワークフロー