MonacaはCordova 13のサポートを開始しました。

Cordova 13では、AndroidおよびiOSの各プラットフォームが大幅にアップデートされています。特に、Google Playの最新要件に対応するためのAndroidターゲットSDKの引き上げや、iOSのアイコン管理方式の刷新など、アプリのストア公開に直結する重要な変更が含まれています。

主な変更点

Android

項目 Cordova 12 Cordova 13
cordova-android 12.0.0 14.0.1
ターゲットSDK APIレベル33 APIレベル35
最小SDK APIレベル22 APIレベル24
Java 11 17
Gradle 7.6 8.13
リリース・ビルド出力形式 APK / AAB AAB(App Bundle)

APIレベル35への対応
Google Playでは、新規アプリおよびアプリの更新時にターゲットSDKバージョンの要件が段階的に引き上げられています。Cordova 13にアップグレードすることで、最新のGoogle Play要件に対応できます。

最小SDKバージョンの引き上げ
最小SDKバージョンがAPIレベル24(Android 7.0)に引き上げられました。これにより、Android 6.x以前のデバイスではアプリが動作しなくなります。

リリース・ビルド出力形式の変更
Cordova 13では、Androidのリリース・ビルド出力形式がAAB(Android App Bundle)に統一されます。これまでAPK形式でビルドしていた場合は、ビルド設定をご確認ください。

iOS

項目 Cordova 12 Cordova 13
cordova-ios 6.2.0 8.0.1
Xcode 14.2 26.0.1

動作環境

Cordova CLI 13では、ローカル開発環境に Node.js 20.17.0 以上 が必要です。ローカルでCordova CLIをお使いの場合は、事前にNode.jsのバージョンをご確認ください。

プロジェクトのアップグレード方法

現在のプロジェクトをCordova 13にアップグレードする手順は次のとおりです。

  1. 対象のプロジェクトを開く
  2. ヘッダーメニューの「設定」をクリック
  3. 「Cordovaプラグインの管理」をクリック
  4. 「13.0.0 にアップグレード」をクリック

アップグレード時に、影響のあるプラグインの一覧が表示されます。内容を確認の上、アップグレードを実行してください。

アップグレード時に自動で行われること

Monacaのアップグレード機能では、以下の変更が自動的に適用されます。手動での設定変更は基本的に不要です。

  • Cordovaバージョン、プラットフォームバージョンの更新
  • AndroidターゲットSDKバージョンの35への引き上げ
  • Androidビルド出力形式のAAB(App Bundle)への変更
  • iOSアイコンの新しい形式への変換
  • 不要になった cordova-plugin-splashscreen の削除
  • 対応プラグインのバージョン更新
  • Node.jsバージョンの設定
  • アップグレード前のプロジェクトのバックアップ作成

アップグレード前にご確認ください

cordova-custom-config プラグインについて

cordova-custom-config プラグインをお使いの場合、cordova-ios 8系ではiOS端末で正常に動作しない可能性があります。該当プラグインをご利用中の方は、アップグレード前にプラグインの対応状況をご確認ください。

ご利用中のプラグインの互換性

Cordova 13で大幅なプラットフォーム更新が行われているため、サードパーティ製のプラグインが正常に動作しない場合があります。アップグレード後にビルドエラーが発生した場合は、該当プラグインのCordova 13対応状況をご確認ください。

変更の詳細

cordova-plugin-splashscreen の削除

cordova-plugin-splashscreen プラグインは、cordova-android 12以降でプラットフォーム本体にスプラッシュスクリーン機能が統合されたことにより、既に非推奨(obsolete)となっています。Cordova 13へのアップグレード時に、このプラグインがインストールされている場合は自動的に削除されます。

スプラッシュスクリーンの表示はプラットフォーム本体の機能として引き続き動作します。設定方法はオートリサイズモードに統一されていますので、アップグレード後にAndroidのスプラッシュスクリーン画像が正しく表示されることをご確認ください。

iOSアイコンの仕様変更

Cordova 13で採用されたcordova-ios 8では、iOSのアイコン管理方法が変更されました。従来は複数のサイズごとにアイコンファイルを個別に指定する方式でしたが、cordova-ios 8からは1枚の1024x1024アイコンを指定するだけで、各サイズが自動生成される方式になりました。

アップグレード時に既存のアイコンが自動変換されますが、ビルド後にアプリのアイコンが正しく表示されることをご確認ください。

Node.jsバージョンの管理方法の変更

Cordova 13プロジェクトでは、ビルド時に使用するNode.jsのバージョンを .nvmrc ファイルで管理するようになりました。これにより、プロジェクトごとに適切なNode.jsバージョンを明示的に指定できるようになります。

アップグレード時に、Cordova 13でサポートされるNode.jsバージョンが自動設定されます。既にサポート対象のバージョンをお使いの場合は変更されません。

その他の注意事項

Android 15での backbutton イベント問題への対応

Androidプラットフォーム 15.0.0 において、ハードウェアバックボタン押下時に backbutton イベントが正常に発火しない問題が報告されています。

Monacaでは、本問題に対応したCordova Androidプラットフォームを採用しています。document.addEventListener("backbutton", ...) を利用して独自の戻る制御を実装している場合は、アップグレード後に実機で動作をご確認ください。

▼ 関連するIssue
https://github.com/apache/cordova-android/issues/1904

個人向けプランの利用可能Cordovaバージョン

個人向けプラン (Free/Proプラン) では、最新2バージョン(Cordova 13, 12)が利用できます。

プロジェクトをCordova 11以前のまま利用する場合は、Businessプラン以上へのアップグレードが必要です。

プロジェクトのダウングレード

アップグレードしたプロジェクトは、以前のバージョンにダウングレードできません。アップグレード時に自動で以前のバージョンのバックアッププロジェクトが作成されますので、元に戻したい場合はそちらをご利用ください。