メインコンテンツにジャンプ
Capacitor

Capacitor 4 から Capacitor 5 へのアップデートの手順

Capacitor 4 から Capacitor 5 へのアップデートの手順

プロジェクトを __CAPGO_KEEP_0__ 4 から __CAPGO_KEEP_1__ 5 へ最小限の変更でアップデートする方法を学びます。公式のプラグインと必要なツールの更新も含まれます。

マーティン・ドナディュー

マーティン・ドナディュー

Updating from Capacitor 4 to Capacitor 5: A Step-by-Step Guide

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を使用することをお勧めします。

  1. __CAPGO_KEEP_0__ __CAPGO_KEEP_1__の latest version of the Capacitor CLI in your project:

    npm i -D @capacitor/cli@latest
  2. CLIがマイグレーションを処理するように指示するコマンドを実行してください。

    npx cap migrate

    マイグレーションステップが実行できない場合は、ターミナル出力に追加情報が提供されます。マニュアルマイグレーションステップは以下に記載されています。

  3. 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

  1. XcodeのアップグレードCapacitor 5では、Xcode 14.1以上が必要です。

  2. .gitignoreのアップデート: __CAPGO_KEEP_0__ の設定を変更してください .gitignore ファイル:

    - App/Podfile.lock
    + App/output
  3. Update Assets を使用してアプリのアイコンを 1 つに更新する: Xcode 14 では、1024x1024 のアプリのアイコンをサポートしています。AppIcon.appiconset を整理して、不要なサイズをすべて削除してください。

Upgrading Capacitor 4 の Android Project を Capacitor 5 にアップグレードする

  1. Android Studio をアップグレードする: Capacitor 5 では、Gradle 8 を使用するため、Java JDK 17 が必要です。Java 17 は Android Studio Flamingo に含まれているため、追加のダウンロードは必要ありません。

  2. AGP Upgrade Assistant を実行する: Android Studio は、Gradle に関する更新とパッケージをビルドファイルに移動するのに役立ちます。開始するには、 Tools -> AGP Upgrade Assistant.

  3. 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'
  4. Google サービスを更新:

    # build.gradle
    dependencies {
    -       classpath 'com.google.gms:google-services:4.3.13'
    +       classpath 'com.google.gms:google-services:4.3.15'
    }
  5. 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'
    }
  6. 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
  7. Jetifier を無効にする:

    # gradle.properties
    android.useAndroidX=true
    - android.enableJetifier=true
  8. パッケージを 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
  9. androidScheme を更新: Capacitor 6 に https __CAPGO_KEEP_0__ を使用するシステムの Autofill 機能を利用できるようにするために、既存のアプリケーションに __CAPGO_KEEP_0__ を設定する androidScheme for 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 to http 現在のデフォルト値でもある

    {
      server: {
        androidScheme: "http"
      }
    }
  10. 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__を更新する:
    • googleMapsPlayServicesVersion18.1.0.
    • googleMapsUtilsVersion3.4.0.
    • googleMapsKtxVersion3.4.0.
    • googleMapsUtilsKtxVersion3.4.0.
    • kotlinxCoroutinesVersion1.6.4.
    • androidxCoreKTXVersion1.10.0.
    • kotlin_version1.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 ネイティブ ビルドの製品ワークフローについて

Capacitor アプリのリアルタイム更新

ウェブ層のバグが生じた場合、Capgo を通じて修正を配信し、アプリストアの承認待ちの日数を省きます。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通じます。

はじめましょう

ブログの最新記事

Capgo を使うことで、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を得ることができます。