Cordovaコマンドラインインターフェース(CLI)コマンド
CLI構文
cordova <command> [options] -- [platformOpts]
グローバルコマンド一覧
これらのコマンドは常に使用できます。
コマンド | 説明 |
---|---|
create |
プロジェクトの作成 |
help <command> |
コマンドのヘルプを取得 |
telemetry |
テレメトリ収集のオン/オフを切り替え |
config |
グローバルなCordovaオプションの設定、取得、削除、編集、一覧表示 |
プロジェクトコマンド一覧
これらのコマンドは、現在の作業ディレクトリが有効なCordovaプロジェクトの場合にサポートされます。
コマンド | 説明 |
---|---|
info |
プロジェクト情報の生成 |
requirements |
指定されたプラットフォームのすべてのインストール要件を確認して出力します。 |
platform |
プロジェクトプラットフォームの管理 |
plugin |
プロジェクトプラグインの管理 |
prepare |
ビルドのためにファイルを実行プラットフォームにコピーします。 |
compile |
プラットフォームのプロジェクトをコンパイルします。 |
build |
プラットフォームのプロジェクトをビルドします(`prepare` + `compile`) |
clean |
ビルドアーティファクトからプロジェクトをクリーンアップします。 |
run |
プロジェクトを実行します(prepare && compileを含む) |
serve |
ローカルWebサーバーでプロジェクトを実行します(prepareを含む) |
共通オプション
これらのオプションは、すべてのcordova-cliコマンドに適用されます。
オプション | 説明 |
---|---|
-d または --verbose | より詳細な出力をシェルに出力します。`cordova-cli`をノードモジュールとして使用している場合は、`cordova.on('log', function() {})`または`cordova.on('warn', function() {})`を呼び出すことで、`log`イベントと`warn`イベントを購読することもできます。 |
-v または --version | `cordova-cli`インストールのバージョンを出力します。 |
--nohooks | フックの実行を抑制します(RegExpフックパターンをパラメーターとして受け入れます) |
--no-telemetry | 現在のコマンドのテレメトリ収集を無効にします。 |
プラットフォーム固有のオプション
特定のコマンドには、特定のプラットフォームに固有のオプション(`platformOpts`)があります。これらは、`--`セパレーターを使用してcordova-libモジュール内のコマンド解析を停止し、プラットフォームが解析する残りのオプションを渡すことで、cordova-cliに提供できます。
CLI使用例
次の例は、Cordova CLIを使用して、プロジェクトの作成、カメラプラグインの追加、Androidプラットフォームへのプロジェクトの追加、ビルド、実行などのさまざまなタスクを実行する方法を示しています。
- プロジェクトの作成
- `camera`プラグインの追加
- Androidプラットフォームへのプロジェクトの追加、ビルド、実行
さらに、リリース署名に使用される`--keystore`など、Cordova-Androidプラットフォームによって提供される特定のオプションの使用例を示しています。
-
Cordovaプロジェクトの作成
cordova create myApp com.myCompany.myApp myApp cd myApp
-
プロジェクトへのカメラプラグインの追加
cordova plugin add cordova-plugin-camera
-
プロジェクトへのAndroidプラットフォームの追加
cordova platform add android
-
Androidプラットフォームの要件でシステムが構成されていることを確認
cordova requirements android
-
詳細ログを有効にしてAndroidプロジェクトをビルド
cordova build android --verbose
-
Androidプラットフォームでプロジェクトを実行
cordova run android
-
署名パラメーターを使用してAndroidプロジェクトをリリースモードでビルド
cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykey
`cordova create`コマンド
指定されたパスにCordovaプロジェクトのディレクトリ構造を作成します。
コマンド構文
cordova create path [id [name]] [options]
引数
値 | 説明 |
---|---|
path | 既に存在しないディレクトリ。Cordovaはこのディレクトリを作成します。ディレクトリ構造の詳細については、以下を参照してください。 |
id | デフォルト: `io.cordova.hellocordova` `config.xml`ファイルの`widget`要素の`id`属性にマップする、リバースドメインスタイルの識別子。これは変更できますが、Javaパッケージ名など、この値を使用して生成されたコードがある場合があります。適切な値を選択することをお勧めします。 |
name | デフォルト: `HelloCordova` `config.xml`ファイルの`name`要素にマップするアプリケーションの表示タイトル。これは変更できますが、Javaクラス名など、この値を使用して生成されたコードがある場合があります。デフォルト値は`HelloCordova`ですが、適切な値を選択することをお勧めします。 |
オプション
オプション | 説明 |
---|---|
--template | ローカル、NPM、またはGitHubにあるカスタムテンプレートを使用します。 |
ディレクトリ構造
Cordova CLIは次のディレクトリ構造で動作します。
myapp/
|-- config.xml
|-- merges/
| | |-- android/
| | |-- ios/
|-- www/
|-- platforms/
| |-- android/
| |-- ios/
|-- plugins/
|-- cordova-plugin-camera/
config.xml
アプリケーションを構成し、プロジェクトの動作をカスタマイズできます。 config.xmlリファレンスドキュメントも参照してください。
www/
"www"ディレクトリにはプロジェクトのWebアーティファクトが含まれており、`.html`、`.css`、`.js`など、さまざまなファイルタイプが含まれています。
Cordovaアプリケーション開発者として、コードとアセットの大部分は、このディレクトリに配置されます。`cordova prepare`コマンドの実行中、"www"ディレクトリの内容は、各プラットフォームのサブディレクトリ内の対応するwwwディレクトリにコピーされます。たとえば、`platforms/ios/www`または`platforms/android/assets/www`にあります。
CLIはソース"www"フォルダからファイルを定期的にコピーするため、このディレクトリのファイルのみを編集し、プラットフォームサブディレクトリにあるファイルを修正しないでください。
バージョン管理ソフトウェアを使用している場合は、ソース"www"フォルダと"merges"フォルダの両方をバージョン管理システムに含めることをお勧めします。
トランスパイルプロセスを必要とするフレームワークを使用している場合、配布を目的とした最終出力は"www"ディレクトリに配置する必要があることに注意することが重要です。"www"ディレクトリの目的は、トランスパイルされていないソースコードを格納することではありません。代わりに、トランスパイルされていないソースコードは、その目的に特化した別のディレクトリに保管することをお勧めします。
platforms/
プロジェクトに追加したプラットフォームのソースコードをすべて含んでいます。
**警告:** CLIを使用してアプリケーションをビルドする場合、何をしているかを知っている場合、またはドキュメントで特に指定されている場合を除き、/platforms/ディレクトリのファイルを編集しないでください。このディレクトリ内のファイルは、アプリケーションの準備、ビルド、またはプラグインの再インストール時に定期的に上書きされます。
plugins/
追加されたプラグインはすべて、このディレクトリに抽出またはコピーされます。
merges/
プラットフォーム固有のWebアセット(HTML、CSS、JavaScriptファイル)は、このディレクトリの適切なサブフォルダに含まれています。これらは、`prepare`中に適切なネイティブディレクトリに配置されます。`merges/`の下に配置されたファイルは、関連するプラットフォームの`www/`フォルダ内の対応するファイルを上書きします。プロジェクト構造が次の場合の簡単な例を次に示します。
merges/
|-- ios/
| -- app.js
|-- android/
| -- android.js
www/
-- app.js
AndroidとiOSプロジェクトをビルドした後、Androidアプリケーションには`app.js`と`android.js`の両方が含まれます。ただし、iOSアプリケーションには`app.js`のみが含まれ、`merges/ios/app.js`にあるものになり、`www/`内にある"common" `app.js`を上書きします。
バージョン管理
よりクリーンなバージョン管理設定を確保するために、`platforms/`および`plugins/`ディレクトリをバージョン管理システムに含めないことをお勧めします。これらのディレクトリはビルドアーティファクトと見なされます。代わりに、プロジェクトで使用されるプラットフォームとプラグインは、`config.xml`と`package.json`ファイルに自動的に記録されます。`cordova prepare`コマンドを呼び出すと、これらの構成ファイルに指定されている情報に基づいて、必要なプラットフォームとプラグインがダウンロードされ、設定されます。
`platforms/`および`plugins/`ディレクトリをバージョン管理から除外して`config.xml`と`package.json`ファイルを使用することにより、より効率的な開発と継続的インテグレーションワークフローを維持できます。
例
- 指定されたIDと表示名を使用して`myapp`ディレクトリにCordovaプロジェクトを作成します。
cordova create myapp com.mycompany.myteam.myapp MyApp
`cordova platform`コマンド
Cordovaプラットフォームを管理します。プラットフォームの追加、削除、更新、一覧表示が可能です。プラットフォームを追加または削除するコマンドを実行すると、プロジェクトのplatformsディレクトリの内容に影響します。
コマンド構文
cordova {platform | platforms} [
add <platform-spec> [...] {--save | link=<path> } |
{remove | rm} platform [...] {--save}|
{list | ls} |
update ]
サブコマンド | オプション | 説明 |
---|---|---|
add <platform-spec> […] | 指定されたプラットフォームを追加します。 | |
--nosave | <engine>タグを使用してインストールした後、<platform-spec>を`config.xml`と`package.json`に保存しません。 | |
--link=<path> | <platform-spec>がローカルパスである場合、プラットフォームライブラリの複製を作成する代わりに、直接リンクします(プラットフォームによってサポートが異なります。プラットフォーム開発に役立ちます)。 | |
remove <platform> […] | 指定されたプラットフォームを削除します。 | |
--nosave | 削除後、指定されたプラットフォームを`config.xml`と`package.json`から削除しません。 | |
update <platform> […] | 指定されたプラットフォームを更新します。 | |
--save | `config.xml`に指定されたバージョンを更新します。 | |
list | インストール済みおよび使用可能なすべてのプラットフォームを一覧表示します。 |
Platform-spec
プラットフォームを指定するには、いくつかの方法があります。
<platform-spec> : platform[@version] | path | url[#commit-ish]
値 | 説明 |
---|---|
platform | プロジェクトに追加するプラットフォーム名(例:android、ios、electronなど)。Cordova CLIの各リリースは、各プラットフォームのバージョンを固定します。バージョンが指定されていない場合、このバージョンを使用してプラットフォームが追加されます。 |
version | semverを使用したメジャー.マイナー.パッチバージョン指定子 |
path | プラットフォームを含むディレクトリまたはtarballへのパス |
url | プラットフォームを含むGitリポジトリまたはtarballのURL |
commit-ish | コミット/タグ/ブランチ参照。指定されていない場合は、'master'が使用されます。 |
サポートされているプラットフォーム
android
browser
electron
ios
例
- `android`と`ios`プラットフォームの固定バージョンを追加し、ダウンロードされたバージョンを`config.xml`と`package.json`に保存します。
cordova platform add android ios
- semverバージョン^5.0.0で`android`プラットフォームを追加し、`config.xml`と`package.json`に保存します。
cordova platform add android@^5.0.0
- 指定されたGitリポジトリをクローンして`4.0.0`タグをチェックアウトすることでプラットフォームを追加します。
cordova platform add https://github.com/myfork/cordova-android.git#4.0.0
- `android`という名前のローカルディレクトリを使用してプラットフォームを追加します。
cordova platform add ../android
- 指定されたtarballを使用してプラットフォームを追加します。
cordova platform add ../cordova-android.tgz
- `android`プラットフォームをプロジェクトから削除し、`config.xml`と`package.json`からも削除します。
cordova platform rm android
- `android`プラットフォームをプロジェクトから削除しますが、`config.xml`と`package.json`からは削除しません。
cordova platform rm android --nosave
- バージョン番号付きで使用可能なプラットフォームとインストール済みのプラットフォームを一覧表示します。これは、問題を報告する場合にバージョン番号を見つけるのに役立ちます。
cordova platform ls
`cordova plugin`コマンド
プロジェクトプラグインの管理
コマンド構文
cordova {plugin | plugins} [
add <plugin-spec> [..] {--searchpath=<directory> | --noregistry | --link | --save | --force} |
{remove | rm} {<pluginid> | <name>} --save |
{list | ls}
]
サブコマンド | オプション | 説明 |
---|---|---|
add <plugin-spec> […] | 指定されたプラグインを追加します。 | |
--searchpath <directory> | IDでプラグインを検索する際、レジストリにアクセスする前に、このディレクトリとそのすべてのサブディレクトリを検索します。複数の検索パスを指定できます。*nix 系システムでは「:」、Windowsでは「;」をセパレータとして使用します。 |
|
--noregistry | レジストリでプラグインを検索しません。 | |
--link | ローカルパスからインストールする場合、ファイルをコピーする代わりにシンボリックリンクを作成します。リンクされるファイルの範囲はプラットフォームによって異なります。プラグイン開発に役立ちます。 | |
--nosave | <plugin-spec> をplugin 要素の一部としてconfig.xml またはpackage.json に保存しないでください。 |
|
--force | バージョン6.1で導入されました。 同じファイルが既にターゲットディレクトリに存在する場合でも、プラグインからソースファイルを強制的にコピーします。 | |
<pluginid>\|<name> […] を削除します |
指定されたID/名前のプラグインを削除します。 | |
--nosave | config.xml またはpackage.json から指定されたプラグインを削除しないでください。 |
|
list | 現在インストールされているプラグインを一覧表示します。 |
Plugin-spec
プラグインを指定するにはいくつかの方法があります。
<plugin-spec> : [@scope/]pluginID[@version]|directory|url[#commit-ish][:subdir]
値 | 説明 |
---|---|
scope | スコープ付きnpmパッケージとして公開されたプラグインのスコープ |
plugin | プラグインID(npmレジストリまたは--searchPath内のプラグインのID) |
version | semverを使用したメジャー.マイナー.パッチバージョン指定子 |
directory | plugin.xmlを含むディレクトリ |
url | plugin.xmlを含むGitリポジトリのURL |
commit-ish | コミット/タグ/ブランチ参照。指定されていない場合は、'master'が使用されます。 |
プラグイン解決アルゴリズム
プロジェクトにプラグインを追加する場合、CLIは次の基準に基づいてプラグインを解決します(優先順位順に記載)。
- コマンドで指定された
plugin-spec
(例:cordova plugin add pluginID@version
) config.xml
およびpackage.json
に保存されたplugin-spec
(つまり、プラグインが以前に--nosave
なしで追加された場合)- Cordovaバージョン6.1以降、現在のプロジェクトがサポートできるnpmに公開されている最新のプラグインバージョン(
package.json
にCordova依存関係をリストしているプラグインにのみ適用されます) - npmに公開されている最新のプラグインバージョン
例
-
cordova-plugin-camera
とcordova-plugin-file
をプロジェクトに追加し、config.xml
とpackage.json
に保存します。プラグインを検索するには../plugins
ディレクトリを使用します。cordova plugin add cordova-plugin-camera cordova-plugin-file --searchpath ../plugins
-
semverバージョン^2.0.0で
cordova-plugin-camera
を追加し、config.xml
とpackage.json
に保存します。cordova plugin add cordova-plugin-camera@^2.0.0
-
指定されたローカルディレクトリからプラグインを追加します。
cordova plugin add ../cordova-plugin-camera
-
指定されたtarballファイルからプラグインを追加します。
cordova plugin add ../cordova-plugin-camera.tgz
-
プロジェクトと
config.xml
およびpackage.json
からプラグインを削除します。cordova plugin rm camera
-
プロジェクトからプラグインを削除しますが、
config.xml
またはpackage.json
からは削除しません。cordova plugin rm camera --nosave
-
プロジェクトにインストールされているすべてのプラグインを一覧表示します。
cordova plugin ls
競合するプラグイン
edit-config
タグをplugin.xmlファイルで使用しているプラグインを追加すると、プラグインの競合が発生することがあります。edit-config
を使用すると、プラグインはXML要素の属性を追加または置き換えることができます。
この機能は、複数のプラグインが同じXML要素を変更しようとした場合、アプリケーションに問題を引き起こす可能性があります。プラグインの追加を防ぎ、あるプラグインが別のプラグインのedit-config
変更を上書きしようとしないように、競合検出が実装されています。edit-config
の競合が見つかった場合、エラーが発生し、プラグインは追加されません。エラーメッセージには、プラグインを追加する前にすべての競合を解決する必要があることが記載されています。edit-config
の競合を解決する1つの方法は、影響を受けるプラグインのplugin.xmlを変更して、同じXML要素を変更しないようにすることです。もう1つの方法は、--force
フラグを使用してプラグインを強制的に追加することです。このオプションは、競合検出を無視してすべての競合を上書きするため、他のプラグインの状態が悪くなる可能性があるため、注意して使用する必要があります。
edit-config
の管理、競合の解決、および例については、plugin.xmlガイドを参照してください。
cordova prepare
コマンド
config.xml
のメタデータをプラットフォーム固有のマニフェストファイルに変換し、アイコンとスプラッシュスクリーンをコピーし、指定されたプラットフォームのプラグインファイルをコピーして、各ネイティブSDKでプロジェクトをビルドできるようにします。
コマンド構文
cordova prepare [<platform> [..]]
オプション
オプション | 説明 |
---|---|
<platform> […] |
準備するプラットフォーム名。指定しない場合、すべてのプラットフォームが準備されます。 |
cordova compile
コマンド
cordova compile
はcordova buildコマンドのサブセットです。prepareを実行せずにコンパイルステップのみを実行します。代わりにcordova build
を呼び出すのが一般的ですが、このステップはフックを使用して拡張することを可能にするために役立ちます。
コマンド構文
cordova compile [<platform> [...]]
[--debug | --release]
[--device | --emulator | --target=<targetName>]
[--buildConfig=<configfile>]
[-- <platformOpts>]
詳細については、以下のcordova buildコマンドのドキュメントを参照してください。
cordova build
コマンド
すべてのプラットフォーム、または指定されたプラットフォームに対してcordova prepare
とcordova compile
のショートカットです。指定されたプラットフォーム向けにアプリをビルドできます。
コマンド構文
cordova build [<platform> [...]]
[--debug | --release]
[--device | --emulator]
[--buildConfig=<configfile>]
[-- <platformOpts>]
オプション | 説明 |
---|---|
<platform> […] |
ビルドするプラットフォーム名。指定しない場合、すべてのプラットフォームがビルドされます。 |
--debug | デバッグビルドを実行します。これは通常、ビルド対象の基盤となるプラットフォームのデバッグモードに変換されます。 |
--release | リリースビルドを実行します。これは通常、ビルド対象の基盤となるプラットフォームのリリースモードに変換されます。 |
--device | デバイス向けにビルドします。 |
--emulator | エミュレータ向けにビルドします。特に、デバイスとエミュレータではプラットフォームアーキテクチャが異なる場合があります。 |
--buildConfig=<configFile> |
デフォルト:cordovaルートディレクトリのbuild.json。 指定されたビルド設定ファイルを使用します。 build.json ファイルは、特にパッケージの署名に関連するアプリのビルドプロセスをカスタマイズするためのパラメータを指定するために使用されます。 |
<platformOpts> |
プラットフォーム固有のオプションを提供するには、-- セパレータの後に含める必要があります。詳細については、プラットフォームガイドのドキュメントを確認してください。 |
例
- デバイスへのデプロイのために、
android
とios
プラットフォームをdebug
モードでビルドします。
cordova build android ios --debug --device
- 指定されたビルド設定を使用して、
android
プラットフォームをrelease
モードでビルドします。
cordova build android --release --buildConfig=..\myBuildConfig.json
android
プラットフォームをリリースモードでビルドし、Androidビルドプロセスにカスタムプラットフォームオプションを渡します。
cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykey
cordova run
コマンド
指定されたプラットフォームのデバイス/エミュレータでアプリを準備、ビルド、およびデプロイします。デバイスが接続されている場合、適格なエミュレータが既に実行されていない限り、そのデバイスが使用されます。
コマンド構文
cordova run [<platform> [...]]
[--list | --debug | --release]
[--noprepare]
[--nobuild]
[--device | --emulator | --target=<targetName>]
[--buildConfig=<configfile>]
[-- <platformOpts>]
オプション | 説明 |
---|---|
<platform> […] |
実行するプラットフォーム名。指定しない場合、すべてのプラットフォームが実行されます。 |
--list | 使用可能なターゲットを一覧表示します。指定しない限り、デバイスとエミュレータの両方のデプロイターゲットが表示されます。 |
--debug | デバッグビルドをデプロイします。これは、--release が指定されていない場合のデフォルトの動作です。 |
--release | リリースビルドをデプロイします。 |
--noprepare | 準備をスキップします(Cordova v6.2以降で使用可能) |
--nobuild | ビルドをスキップします。 |
--device | デバイスにデプロイします。 |
--emulator | エミュレータにデプロイします。 |
--target | 特定のターゲットエミュレータ/デバイスにデプロイします。ターゲットオプションを表示するには--list を使用します。 |
--buildConfig=<configFile> |
デフォルト:cordovaルートディレクトリのbuild.json。 指定されたビルド設定ファイルを使用します。 build.json ファイルは、特にパッケージの署名に関連するアプリのビルドプロセスをカスタマイズするためのパラメータを指定するために使用されます。 |
<platformOpts> |
プラットフォーム固有のオプションを提供するには、-- セパレータの後に含める必要があります。詳細については、プラットフォームガイドのドキュメントを確認してください。 |
例
Nexus_5_API_23_x86
という名前のandroid
プラットフォームエミュレータで、現在のcordovaプロジェクトのリリースビルドを実行します。実行時に指定されたビルド構成を使用します。
cordova run android --release --buildConfig=..\myBuildConfig.json --target=Nexus_5_API_23_x86
- デバイスまたはエミュレータ(デバイスが接続されていない場合)を使用して、現在のcordovaプロジェクトの
android
プラットフォームのデバッグビルドを実行します。ビルドの実行をスキップします。
cordova run android --nobuild
ios
デバイスで現在のcordovaプロジェクトのデバッグビルドを実行します。
cordova run ios --device
- このアプリの実行に使用できる接続されているすべてのデバイスと使用可能なエミュレータの名前を列挙します。
cordova run ios --list
cordova emulate
コマンド
cordova run --emulator
のエイリアスです。デバイスの代わりにエミュレータを起動します。cordova runコマンドのドキュメントの詳細を参照してください。
cordova clean
コマンド
プラットフォーム固有のビルドクリーンアップを実行することにより、すべてのプラットフォーム、または指定されたプラットフォームのビルド成果物をクリーンアップします。
コマンド構文
cordova clean [<platform> [...]]
使用例
android
プラットフォームのビルド成果物をクリーンアップします。
cordova clean android
cordova requirements
コマンド
指定されたプラットフォーム(または指定がない場合はプロジェクトに追加されたすべてのプラットフォーム)のすべての要件をチェックして出力します。各プラットフォームのすべての要件が満たされている場合、コード0で終了します。そうでない場合は、ゼロ以外のコードで終了します。
これは、特定のプラットフォームをビルドするためのマシンの設定に役立ちます。
コマンド構文
cordova requirements [platform?]
cordova info
コマンド
バグレポートの提出とヘルプの取得に役立つ情報を表示します。
コマンド構文
cordova info
cordova serve
コマンド
指定されたポート(またはデフォルトの8000)を使用して、www/アセットのローカルWebサーバーを実行します。プロジェクトにはhttp://HOST_IP:PORT/PLATFORM/www
でアクセスできます。
コマンド構文
cordova serve [port]
cordova telemetry
コマンド
テレメトリの収集をオンまたはオフにします。
コマンド構文
cordova telemetry [State]
状態 | 説明 |
---|---|
on | テレメトリの収集をオンにします。 |
off | テレメトリの収集をオフにします。 |
詳細
初めてcordovaを実行すると、ユーザーにオプトインまたはオプトアウトを促すタイムドプロンプトが表示されます。これは30秒間表示され、その後に回答がない場合は自動的にオプトアウトされます。CI環境では、CI
環境変数を設定できます。これにより、プロンプトが表示されなくなります。--no-telemetry
フラグを使用することで、単一のコマンドでテレメトリの収集をオフにすることもできます。
使用例
cordova telemetry on
cordova telemetry off
cordova build --no-telemetry
詳細については、プライバシーポリシーをご覧ください:https://cordova.dokyumento.jp/privacy
cordova help
コマンド
構文の概要、または特定のコマンドのヘルプを表示します。
コマンド構文
cordova help [command]
cordova [command] -h
cordova -h [command]
cordova config
コマンド
グローバルなcordovaオプションの設定、取得、削除、編集、および一覧表示を行います。
コマンド構文
cordova config [ls|edit|set|get|delete] <key?> <value?>
使用例
cordova config ls
cordova config edit
cordova config set save-exact true
cordova config get save-exact
cordova config delete save-exact