Cordova コマンドラインツール(CLI)(リファレンスマニュアル)

本章はリファレンスマニュアルです。全て学習する必要はなく、必要な箇所を参照してください。

CLI 構文

cordova <command> [オプション] -- [プラットフォーム固有引数]Code language: CSS (css)

グローバルコマンド一覧

Cordovaプロジェクトディレクトリ外から実行可能

コマンド説明
create新規プロジェクトを作成
help指定コマンドのヘルプドキュメントを表示
configCordovaグローバル設定項目の設定・取得・削除・編集・一覧表示

プロジェクトコマンド一覧

有効な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を呼び出す場合は、logwarnイベントを監視しログ取得可能:cordova.on('log', ()=>{})
-v / –versionCordova CLIの現在のバージョンを表示
–nohooksフックスクリプト(hook)の実行を無効化。正規表現によるフックのフィルタリングに対応

プラットフォーム固有引数について

一部コマンドはプラットフォーム独自の引数(platformOpts)に対応しています。
区切り文字として -- を使用します。-- より前はCordova CLIが解析し、-- 以降の引数はすべて対応するネイティブプラットフォームのビルドツールにそのまま渡されます


CLI 使用例

一連の作業フローのデモ:

  1. プロジェクト作成
  2. カメラプラグイン導入
  3. Androidプラットフォーム追加
  4. Androidのコンパイル・実行
  5. 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 Cordova
config.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 <プラットフォーム>プラットフォームバージョン更新
–saveconfig.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

対応プラットフォーム

androidbrowserelectronios

# 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 :
–noregistrynpm公式レジストリからプラグインを取得しない
–linkローカルプラグインディレクトリ導入時にシンボリックリンク作成(プラグイン開発・デバッグ用)
–nosaveconfig.xml / package.jsonに情報を書き込まない
–force競合ファイルを強制上書き(6.1バージョンより追加)
removeプラグイン削除
–nosaveプラグインを削除するが設定ファイルの記録は保持
list / lsインストール済みプラグイン一覧表示

プラグイン指定形式 <plugin-spec>

[@scope/]プラグインID[@バージョン] | ローカルディレクトリ | Gitアドレス[#commit][:サブディレクトリ]Code language: PHP (php)

プラグイン解決優先順位(高→低)

  1. コマンドラインで明示的に指定されたプラグインとバージョン
  2. config.xml / package.jsonに保存されているプラグイン情報
  3. npm上に存在する、現在のプロジェクトと互換性のある最新バージョン(プラグインpackage.jsonにcordova依存が宣言されているもの)
  4. 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は既定でインストールをブロックします。
解決策:

  1. プラグインのplugin.xmlを修正し、同一ノードを編集しないようにする(推奨)
  2. --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利用可能な実機・エミュレーターデバイスを一覧表示
–noprepareprepare処理をスキップ(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)(リファレンスマニュアル)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です