本章はリファレンスマニュアルです。全て学習する必要はなく、必要な箇所を参照してください。
CLI 構文
cordova <command> [オプション] -- [プラットフォーム固有引数]Code language: CSS (css)
グローバルコマンド一覧
Cordovaプロジェクトディレクトリ外から実行可能
| コマンド | 説明 |
|---|---|
| create | 新規プロジェクトを作成 |
| help | 指定コマンドのヘルプドキュメントを表示 |
| config | Cordovaグローバル設定項目の設定・取得・削除・編集・一覧表示 |
プロジェクトコマンド一覧
有効なCordovaプロジェクトルートディレクトリで実行する必要があります
| コマンド | 説明 |
|---|---|
| info | プロジェクト環境情報を出力 |
| requirements | 対象プラットフォームに必要な依存環境を検出し表示 |
| platform | プロジェクトのプラットフォーム(Android/iOS/Browserなど)を管理 |
| plugin | プロジェクトプラグインを管理 |
| prepare | 各プラットフォームディレクトリへリソースファイルをコピー、ビルド準備を実行 |
| compile | 指定プラットフォームのプロジェクトをコンパイル |
| build | アプリをビルド(prepare + compileと同等) |
| clean | プラットフォームビルドで生成されたキャッシュ成果物を削除 |
| run | アプリを実行(内部でprepare + compile + デプロイ・起動を実行) |
| serve | ローカルWebサーバーを起動しWebリソースをプレビュー(内部でprepare実行) |
共通オプション(全CLIコマンド対応)
| 引数 | 説明 |
|---|---|
| -d / –verbose | 詳細ログを出力。Nodeコードからcordova-cliを呼び出す場合は、log、warnイベントを監視しログ取得可能:cordova.on('log', ()=>{}) |
| -v / –version | Cordova CLIの現在のバージョンを表示 |
| –nohooks | フックスクリプト(hook)の実行を無効化。正規表現によるフックのフィルタリングに対応 |
プラットフォーム固有引数について
一部コマンドはプラットフォーム独自の引数(platformOpts)に対応しています。
区切り文字として -- を使用します。-- より前はCordova CLIが解析し、-- 以降の引数はすべて対応するネイティブプラットフォームのビルドツールにそのまま渡されます。
CLI 使用例
一連の作業フローのデモ:
- プロジェクト作成
- カメラプラグイン導入
- Androidプラットフォーム追加
- Androidのコンパイル・実行
- Android署名引数を指定しリリースビルドを作成
# プロジェクト作成
cordova create myApp com.foxdevelop.myApp myApp
cd myApp
# カメラプラグイン追加
cordova plugin add cordova-plugin-camera
# Androidプラットフォーム追加
cordova platform add android
# Androidビルド環境の依存関係を確認
cordova requirements android
# Androidをコンパイル(詳細ログ出力)
cordova build android --verbose
# 実機またはエミュレーターでアプリ起動
cordova run android
# リリース版ビルド、署名パラメータを渡す
cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykeyCode language: PHP (php)
各コマンド詳細解説
cordova create
Cordovaプロジェクトのディレクトリ構造を作成します。
構文:
cordova create path [パッケージID [アプリ名]] [オプション]Code language: CSS (css)
引数
| 値 | 説明 |
|---|---|
| path | プロジェクトフォルダ(事前にフォルダを作成しないでください。CLIが自動生成します) |
| id | パッケージ識別子。既定値:org.apache.cordova.hellocordova逆ドメイン形式で、 config.xmlのwidget idに対応。Javaパッケージ名の生成に使用されるため適切に設定してください |
| name | アプリ表示名。既定値:Hello Cordovaconfig.xmlのname項目に対応、ネイティブプロジェクトのクラス名生成に利用 |
オプション
--template:ローカル・NPM・GitHub上のカスタムテンプレートを利用しプロジェクト作成
cordova create myapp com.mycompany.myteam.myapp MyAppCode language: CSS (css)
cordova platform
プラットフォームを管理:追加・削除・更新・一覧表示。プラットフォームの追加・削除によりプロジェクト内の platforms ディレクトリが変更されます。
cordova {platform | platforms} [
add <プラットフォーム指定> [...] {--save | link=<パス> } |
{remove | rm} プラットフォーム [...] {--save}|
{list | ls} |
update ]Code language: HTML, XML (xml)
サブコマンドと引数
| サブコマンド | 引数 | 説明 |
|---|---|---|
| add <プラットフォーム指定> | プラットフォーム追加 | |
| –nosave | インストール後、プラットフォーム情報をconfig.xml / package.jsonに書き込まない | |
| –link= | ローカルのプラットフォームソース利用時、ファイルコピーではなくシンボリックリンクを作成(プラットフォーム開発・デバッグ用) | |
| remove <プラットフォーム> | プラットフォーム削除 | |
| –nosave | プラットフォームを削除するが、config.xml / package.jsonの記録は残す | |
| update <プラットフォーム> | プラットフォームバージョン更新 | |
| –save | config.xmlに記載されるプラットフォームバージョンを更新 | |
| list / ls | インストール済み・利用可能なプラットフォームを一覧表示 |
プラットフォーム指定形式 <platform-spec>
プラットフォーム[@バージョン] | ローカルパス | Gitアドレス[#ブランチ/tag/commit]Code language: PHP (php)
- platform:プラットフォーム名 android / ios / browser / electron
- version:セマンティックバージョン semver、例
^13.0.0 - path:ローカルプラットフォームソースディレクトリまたはtarアーカイブ
- url:GitリポジトリURL
- commit-ish:ブランチ、タグ、コミットハッシュを指定。省略時は既定でmaster
対応プラットフォーム
android、browser、electron、ios
# AndroidとiOSを追加し設定ファイルへ記録
cordova platform add android ios
# バージョンを指定しAndroidプラットフォーム追加
cordova platform add android@^13.0.0
# Gitリポジトリからtag指定でプラットフォーム導入
cordova platform add https://github.com/myfork/cordova-android.git#13.0.0
# ローカルディレクトリからプラットフォーム導入
cordova platform add ../android
# Androidプラットフォーム削除
cordova platform rm android
# 全プラットフォーム一覧確認
cordova platform lsCode language: PHP (php)
cordova plugin
プロジェクトのプラグインを管理します
cordova {plugin | plugins} [
add <プラグイン指定> [..] {--searchpath=<ディレクトリ> | --noregistry | --link | --save | --force} |
{remove | rm} {<プラグインID> | <名称>} --save |
{list | ls}
]Code language: HTML, XML (xml)
サブコマンド引数
| サブコマンド | 引数 | 説明 |
|---|---|---|
| add <プラグイン指定> | プラグイン追加 | |
| –searchpath <ディレクトリ> | プラグイン検索時にローカルディレクトリを優先。複数パス区切り:Windows ;、Linux/Mac : | |
| –noregistry | npm公式レジストリからプラグインを取得しない | |
| –link | ローカルプラグインディレクトリ導入時にシンボリックリンク作成(プラグイン開発・デバッグ用) | |
| –nosave | config.xml / package.jsonに情報を書き込まない | |
| –force | 競合ファイルを強制上書き(6.1バージョンより追加) | |
| remove | プラグイン削除 | |
| –nosave | プラグインを削除するが設定ファイルの記録は保持 | |
| list / ls | インストール済みプラグイン一覧表示 |
プラグイン指定形式 <plugin-spec>
[@scope/]プラグインID[@バージョン] | ローカルディレクトリ | Gitアドレス[#commit][:サブディレクトリ]Code language: PHP (php)
プラグイン解決優先順位(高→低)
- コマンドラインで明示的に指定されたプラグインとバージョン
- config.xml / package.jsonに保存されているプラグイン情報
- npm上に存在する、現在のプロジェクトと互換性のある最新バージョン(プラグインpackage.jsonにcordova依存が宣言されているもの)
- npm上のプラグイン最新版
# カメラ、ファイルプラグインを導入、../pluginsを優先検索
cordova plugin add cordova-plugin-camera cordova-plugin-file --searchpath ../plugins
# バージョン指定で導入
cordova plugin add cordova-plugin-camera@^2.0.0
# ローカルディレクトリからプラグイン導入
cordova plugin add ../cordova-plugin-camera
# プラグイン削除
cordova plugin rm cordova-plugin-camera
# プラグイン一覧確認
cordova plugin lsCode language: PHP (php)
プラグイン競合について
一部プラグインは plugin.xml 内の edit-config によりネイティブ設定ファイルを変更します。
複数プラグインが同一XMLノードを同時に編集すると競合が発生し、CLIは既定でインストールをブロックします。
解決策:
- プラグインのplugin.xmlを修正し、同一ノードを編集しないようにする(推奨)
--forceを使用し強制インストール(⚠️ リスク:他プラグインの変更を上書きし、別プラグインが動作しなくなる可能性があります)
cordova prepare
config.xmlの設定を各プラットフォームのネイティブマニフェストファイルへ同期。アイコン・スプラッシュ画像・プラグインリソースをコピーし、プロジェクトがネイティブSDKでビルド可能な状態に整えます。
cordova prepare [プラットフォーム名...]Code language: CSS (css)
プラットフォームを指定しない場合はすべて実行されます。
cordova compile
コンパイルのみ実行し、prepareは実行されません。通常は build を利用し、フック拡張用途で使用されます。
cordova compile [プラットフォーム...]
[--debug | --release]
[--device | --emulator | --target=<名称>]
[--buildConfig=<ファイル>]
[-- プラットフォーム引数]Code language: CSS (css)
cordova build
prepare + compile と同等、アプリパッケージをビルドします。
cordova build [プラットフォーム...]
[--debug | --release]
[--device | --emulator]
[--buildConfig=<設定ファイル>]
[-- プラットフォーム引数]Code language: CSS (css)
| 引数 | 説明 |
|---|---|
| –debug | デバッグ用ビルド |
| –release | リリース用正式ビルド |
| –device | 実機向けパッケージを作成 |
| –emulator | エミュレーター向けアーキテクチャのパッケージを作成 |
| –buildConfig | ビルド設定ファイルを指定。既定はプロジェクトルートの build.json、署名設定によく利用されます |
cordova build android --release --buildConfig=build.json
cordova build android --release -- --keystore="app.keystore" --alias=key0Code language: JavaScript (javascript)
cordova run
prepare → build を実行後、アプリを実機またはエミュレーターにデプロイし起動します。
cordova run [プラットフォーム...]
[--list | --debug | --release]
[--noprepare]
[--nobuild]
[--device | --emulator | --target=<名称>]
[--buildConfig=<ファイル>]
[-- プラットフォーム引数]Code language: CSS (css)
| 引数 | 説明 |
|---|---|
| –list | 利用可能な実機・エミュレーターデバイスを一覧表示 |
| –noprepare | prepare処理をスキップ(6.2以降) |
| –nobuild | コンパイルを省略し、既存のインストールパッケージを直接デプロイ |
| –target | エミュレーターまたはデバイス名を指定。--listで名称を確認して使用 |
例:
# デバイス一覧を表示
cordova run android --list
# 指定したエミュレーターで起動
cordova run android --target=Nexus_5_API_23_x86
# 再ビルドせず直接実行
cordova run android --nobuildCode language: PHP (php)
cordova emulate
cordova run --emulator のエイリアス。エミュレーター上のみでアプリを起動します。
cordova clean
各プラットフォームのビルドキャッシュ成果物を削除します
cordova clean android
cordova requirements
プラットフォームに必要な環境依存(JDK、Android SDK、Xcodeなど)を検出します
cordova requirements android
全ての依存が充足すると終了コード0、不足がある場合は非0を返し、自動ビルド環境の検証に活用できます。
cordova info
環境・プラットフォーム・プラグインの情報一式を出力。不具合報告時に必須です。
cordova info
cordova serve
ローカルWebサーバーを起動しwww配下のWebリソースをプレビュー。既定ポートは8000
cordova serve 8080
# アクセス先:http://127.0.0.1:8080/android/wwwCode language: PHP (php)
cordova help
コマンドのヘルプを参照
cordova help build
cordova build -h
cordova config
Cordovaのグローバル設定を管理
cordova config ls # 全設定を一覧表示
cordova config set save-exact true
cordova config get save-exact
cordova config delete save-exact
cordova config editCode language: PHP (php)
Cordova コマンドラインツール(CLI)(リファレンスマニュアル)