前回のアップデートと比較して、Capacitor から Capacitor へのアップデートには最小限の破壊的な変更が含まれています。このガイドでは、Capacitor 5 にアップデートするためのステップバイステップの指示、および公式プラグインの破壊的な変更のリストを提供します。
注意Capacitor 5 は、NodeJS 16 またはそれ以上が必要です。Node 12 はすでにエンドオブライフに達しており、Node 14 は 2023 年 4 月 30 日にエンドオブライフに達します。最新の LTS バージョンの NodeJS を使用することをお勧めします。
-
Install the
latestCapacitor CLI __CAPGO_KEEP_2__npm i -D @capacitor/cli@latest -
コマンドを実行して、CLI がマイグレーションを処理するようにします。
npx cap migrateマイグレーションステップが実行できなかった場合、追加情報はターミナル出力に表示されます。マニュアルマイグレーションステップは以下に記載されています。
-
VS Code 拡張機能がインストールされている場合、推奨事項のセクションにアクセスして、Capacitor 5 にプロジェクトをマイグレートするオプションを確認してください。
Capacitor 4 から 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
-
アップグレード Android Studio: Capacitor 5 は、Gradle 8 を使用するため、Android Studio Flamingo | 2022.2.1 またはそれ以降が必要です。Java JDK 17 は Gradle 8 を必要とし、Android Studio Flamingo には Java 17 が付属しているため、追加のダウンロードは必要ありません。
-
AGP アップグレード アシスタントを実行する: Android Studio は、Gradle とパッケージをビルド ファイルに移動する関連する更新を助けることができます。開始するには、
Tools -> AGP Upgrade Assistant. -
Android プロジェクトの変数を更新する: ご自分の
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' -
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は、既存のアプリケーションにシステムの Autofill 機能を使用できるようにするために、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_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. - Live Update
androidxMaterialVersionバージャブルから1.8.0. - Live Update
androidxExifInterfaceVersionバージャブルから1.3.6.
デバイス
- 変更
DeviceId.uuidにDeviceId.identifier. - iOS 16+ の場合、
DeviceInfo.nameデバイス名を一般的なものに返します。特定のエンティティを追加しない限り エンティティ.
位置情報
- 更新
playServicesLocationVersionto21.0.1.
Google マップ
- 次の変数を更新します:
googleMapsPlayServicesVersionto18.1.0.googleMapsUtilsVersionto3.4.0.googleMapsKtxVersionto3.4.0.googleMapsUtilsKtxVersionto3.4.0.kotlinxCoroutinesVersionto1.6.4.androidxCoreKTXVersionに1.10.0.kotlin_versionに1.8.20.
ローカル通知
- Android 13 の場合、ローカル通知をスケジュールするために必要な新しいランタイムパーミッションチェックが SDK 33 に対して実行されます。呼び出し
checkPermissions()とrequestPermissions()プッシュ通知
Android 13 の場合、プッシュ通知を受信するために必要な新しいランタイムパーミッションチェックが __CAPGO_KEEP_0__ 33 に対して実行されます。呼び出し
- 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
Capacitor 5 を使用している場合 Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide native プラグインの作業を計画するには、__CAPGO_KEEP_0__ Plugin Directory に接続します。 Capgo プラグインディレクトリ Capgo Plugin Directory の製品ワークフロー Capacitor プラグインは Capgo によって提供されます。 Capacitor Plugins by Capgo の実装詳細 プラグインの追加または更新 Capacitor 4 から Capacitor 5 へのアップデート Ionic Enterprise プラグインの代替 Capacitor 4 から Capacitor 5 へのアップデートのための製品ワークフロー Capgo ネイティブビルド for the product workflow in Capgo Native Builds.