Capacitor 6からCapacitor 7へのアップデート
このガイドでは、プロジェクトをCapacitor 7の最新バージョンにアップデートする手順と、公式プラグインの変更点を説明します。
Capacitor 設定ファイルの変更点
bundledWebRuntime 設定オプションが削除されました。もし false に設定していた場合は、安全に削除できます。もし true に設定していた場合は、アプリ内で @capacitor/core のコードをバンドルするために bundler を使う必要があります。
cordova.staticPlugins 設定オプションが削除されました。もしstaticである必要のある Cordova プラグインがある場合は、cordova-ios 7+ ではサポートされていないため、framework タグを使う代わりに、use-framework 属性を持つ podspec タグを使うように更新する必要があります。
NodeJS 20+
Node 18は2023年10月18日にアクティブサポートが終了しました。Capacitor 7はNodeJS 20以上を必要とします。(最新のLTSバージョンを推奨します)。
テレメトリーはオプトアウトになりました。
以前Capacitorコマンドを使用したことがある場合、すでにプリファレンスが保存されているので、これは新規ユーザーにのみ影響します。また、CIサーバーのような非インタラクティブな環境ではテレメトリーは実行されません。
npx cap telemetry off で無効にできます。
CLIを使って移行する
最新バージョンのCapacitor CLIをプロジェクトにインストールする:
npm i -D @capacitor/cli@latest
インストールしたら、以下を実行するだけで、CLIがマイグレーションを処理します:
npx cap migrate
移行のステップのいずれかが完了できなかった場合、ターミナルの 出力に追加情報が表示されます。手動で移行する手順を以下に示します。
iOS
以下のガイドでは、Capacitor 6 iOSプロジェクトをCapacitor 7にアップグレードする方法を説明します。
Xcodeのアップグレード
Capacitor 7はXcode 16.0以上を必要とします。
iOSデプロイメントターゲットの引き上げ
Xcodeプロジェクトに対して以下の操作を行います:プロジェクトエディタ内でProjectを選択し、Build Settingsタブを開きます。Deploymentセクションの下で、iOS Deployment TargetをiOS 14.0に変更します。アプリのTargetsに対しても同じ手順を繰り返します。
次に、ios/App/Podfileを開き、iOSバージョンを14.0に更新します:
platform :ios, '14.0'
Android
以下のガイドでは、Capacitor 6 AndroidプロジェクトをCapacitor 7にアップグレードする方法を説明します。
Android Studioのアップグレード
Capacitor 7はAndroid Studio Ladybug | 2024.2.1以上とJava JDK 21を必要とします。Java 21はAndroid Studio Ladybugに同梱されています。追加のダウンロードは不要です!
更新が完了したら、Android Studioはgradleやビルドファイルへのパッケージ移動 に関連するいくつかの更新を支援できます。まず、Tools -> AGP Upgrade Assistantを実行します。

Androidプロジェクト変数の更新
variables.gradle ファイルを、新しい最小値にアップデートしてください。
minSdkVersion = 23
compileSdkVersion = 35
targetSdkVersion = 35
androidxActivityVersion = '1.9.2'
androidxAppCompatVersion = '1.7.0'
androidxCoordinatorLayoutVersion = '1.2.0'
androidxCoreVersion = '1.15.0'
androidxFragmentVersion = '1.8.4'
coreSplashScreenVersion = '1.0.1'
androidxWebkitVersion = '1.12.1'
junitVersion = '4.13.2'
androidxJunitVersion = '1.2.1'
androidxEspressoCoreVersion = '3.6.1'
cordovaAndroidVersion = '10.1.1'
google services pluginをアップデート
# build.gradle
dependencies {
classpath 'com.android.tools.build:gradle:8.2.1'
- classpath 'com.google.gms:google-services:4.4.0'
+ classpath 'com.google.gms:google-services:4.4.2'
gradle plugin を 8.7.2 にアップデート
# build.gradle
dependencies {
- classpath 'com.android.tools.build:gradle:8.2.1'
+ classpath 'com.android.tools.build:gradle:8.7.2'
gradle wrapper を 8.11.1 にアップデート
# gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip
+ distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Kotlinバージョンの更新
プロジェクトでKotlinを使用している場合、kotlin_version変数を'1.9.25'に更新します。
configChangesにnavigationを追加
これは、Bluetoothキーボードを使用する際に一部のデバイスでアプリの再起動を防ぐためのオプションの変更です。
AndroidManifest.xmlのアプリactivityのconfigChangesにnavigationを追加します。
- android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
+ android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode|navigation"
プラグイン
プラグインがバージョン7.0.0にアップデートされました。
以下のプラグインの機能が変更または削除されました。それに従ってコードを更新してください。
Action Sheet
androidxMaterialVersion変数が1.12.0に更新されました。
App
- 非推奨の型
AppRestoredResultが削除され、RestoredListenerEventを使用します。 - 非推奨の型
AppUrlOpenが削除され、URLOpenListenerEventを使用します。
Browser
androidxBrowserVersion変数が1.8.0に更新されました。
Camera
androidxExifInterfaceVersion変数が1.3.7に更新されました。androidxMaterialVersion変数が1.12.0に更新されました。
Device
getInfo()はdiskFree、diskTotal、realDiskFree、realDiskTotalを返さなくなったため、このプラグインのPrivacyInfo.xcprivacyエントリを削除できます。- 非推奨の型
DeviceBatteryInfoが削除され、BatteryInfoを使用します。 - 非推奨の型
DeviceLanguageCodeResultが削除され、GetLanguageCodeResultを使用します。
Geolocation
playServicesLocationVersion変数が21.3.0に更新されました。
Haptics
- 非推奨の型
HapticsImpactOptionsが削除され、ImpactOptionsを使用します。 - 非推奨の型
HapticsNotificationOptionsが削除され、NotificationOptionsを使用します。 - 非推奨の型
HapticsNotificationTypeが削除され、NotificationTypeを使用します。 - 非推奨の型
HapticsImpactStyleが削除され、ImpactStyleを使用します。
Push Notifications
firebaseMessagingVersion変数が24.1.0に更新されました。
Share
androidxCoreVersion変数が1.15.0に更新されました。
Splash Screen
- 非推奨の型
SplashScreenShowOptionsが削除され、ShowOptionsを使用します。 - 非推奨の型
SplashScreenHideOptionsが削除され、HideOptionsを使用します。