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

Capacitor 4 から Capacitor 5 へのアップデート: ステップバイステップのガイド

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

記事のクレジット

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

ライター

バレリア

レビュアー

ジョーダン

エディター

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

前回のアップデートと比較して、Capacitor から Capacitor へのアップデートには最小限の破壊的な変更が含まれています。このガイドでは、Capacitor 5 にアップデートするためのステップバイステップの指示、および公式プラグインの破壊的な変更のリストを提供します。

注意Capacitor 5 は、NodeJS 16 またはそれ以上が必要です。Node 12 はすでにエンドオブライフに達しており、Node 14 は 2023 年 4 月 30 日にエンドオブライフに達します。最新の LTS バージョンの NodeJS を使用することをお勧めします。

  1. Install the latest Capacitor CLI __CAPGO_KEEP_2__

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

    npx cap migrate

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

  3. VS Code 拡張機能がインストールされている場合、推奨事項のセクションにアクセスして、Capacitor 5 にプロジェクトをマイグレートするオプションを確認してください。

Capacitor 4 から Capacitor 5 へのアップグレード

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

  2. .gitignore を更新: 以下の変更をファイルに追加してください。 .gitignore ファイル:

    - App/Podfile.lock
    + App/output
  3. .gitignore を更新して、アプリのアイコンを 1 つに更新します。

Upgrading Capacitor 4 Android Project to Capacitor 5

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

  2. AGP アップグレード アシスタントを実行する: Android Studio は、Gradle とパッケージをビルド ファイルに移動する関連する更新を助けることができます。開始するには、 Tools -> AGP Upgrade Assistant.

  3. 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'
  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 は、既存のアプリケーションにシステムの Autofill 機能を使用できるようにするために、 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_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 デバイス名を一般的なものに返します。特定のエンティティを追加しない限り エンティティ.

位置情報

  • 更新 playServicesLocationVersion to 21.0.1.

Google マップ

  • 次の変数を更新します:
    • googleMapsPlayServicesVersion to 18.1.0.
    • googleMapsUtilsVersion to 3.4.0.
    • googleMapsKtxVersion to 3.4.0.
    • googleMapsUtilsKtxVersion to 3.4.0.
    • kotlinxCoroutinesVersion to 1.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.

Live updates for Capacitor apps

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

最新のブログ記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。