Cordova-Befehlszeilentool (CLI) – Referenzhandbuch

Dieses Kapitel dient als Referenzhandbuch. Sie müssen es nicht vollständig durcharbeiten, schlagen Sie einfach nach, wenn Sie etwas benötigen.

CLI-Syntax

cordova <command> [Optionen] -- [plattformspezifische Parameter]Code-Sprache: CSS (css)

Liste der globalen Befehle

Können ohne Wechsel in das Cordova-Projektverzeichnis ausgeführt werden

BefehlBeschreibung
createNeues Projekt erstellen
helpHilfedokumentation für einen bestimmten Befehl anzeigen
configGlobale Cordova-Einstellungen festlegen, abfragen, löschen, bearbeiten oder auflisten

Liste der Projektbefehle

Müssen im Stammverzeichnis eines gültigen Cordova-Projekts ausgeführt werden

BefehlBeschreibung
infoUmgebungsinformationen des Projekts ausgeben
requirementsAlle benötigten Abhängigkeiten einer Plattform prüfen und anzeigen
platformProjektplattformen verwalten (Android/iOS/Browser usw.)
pluginProjektplugins verwalten
prepareRessourcendateien in die Plattformverzeichnisse kopieren, Vorbereitung für die Kompilierung
compileProjekt für die angegebene Plattform kompilieren
buildAnwendung erstellen (entspricht prepare + compile)
cleanZwischendateien bereinigen, die bei der Plattformkompilierung entstehen
runAnwendung starten (interner Ablauf: prepare + compile + Bereitstellung und Start)
serveLokalen Webserver starten zur Vorschau der Web-Ressourcen (führt intern prepare aus)

Allgemeine Optionen (unterstützt von allen CLI-Befehlen)

ParameterBeschreibung
-d / –verboseDetaillierte Protokolle ausgeben. Wenn Sie cordova-cli aus Node-Code aufrufen, können Sie die Ereignisse log und warn abhören, um Logs zu empfangen: cordova.on('log', ()=>{})
-v / –versionAktuelle Version der Cordova CLI anzeigen
–nohooksAusführung von Hook-Skripten unterbinden; Filterung von Hooks per regulärem Ausdruck möglich

Erläuterung zu plattformspezifischen Parametern

Einige Befehle unterstützen individuelle Plattformparameter (platformOpts).
Verwenden Sie -- als Trennzeichen: Alles vor -- wird von der Cordova CLI ausgewertet, sämtliche Parameter nach -- werden unverändert an die nativen Build-Tools der jeweiligen Plattform weitergereicht.


Beispiele für die CLI-Nutzung

Demonstration eines vollständigen Arbeitsablaufs:

  1. Projekt erstellen
  2. Kamera-Plugin installieren
  3. Android-Plattform hinzufügen
  4. Android kompilieren und ausführen
  5. Erstellungsversion mit Android-Signaturparametern bauen
# Projekt erstellen
cordova create myApp com.foxdevelop.myApp myApp
cd myApp

# Kamera-Plugin hinzufügen
cordova plugin add cordova-plugin-camera

# Android-Plattform hinzufügen
cordova platform add android

# Abhängigkeiten für die Android-Kompilierung prüfen
cordova requirements android

# Android kompilieren (detaillierte Logausgabe)
cordova build android --verbose

# App auf Gerät oder Emulator starten
cordova run android

# Release-Version erstellen und Signaturparameter übergeben
cordova build android --release -- --keystore="..\android.keystore" --storePassword=android --alias=mykeyCode-Sprache: PHP (php)

Detaillierte Beschreibung aller Befehle

cordova create

Erstellt die Verzeichnisstruktur eines Cordova-Projekts.
Syntax:

cordova create Pfad [Paket-ID [App-Name]] [Optionen]Code-Sprache: CSS (css)

Parameter

WertBeschreibung
pathProjektordner (der Ordner darf nicht bereits existieren, die CLI erstellt ihn automatisch)
idPaketkennung, Standardwert: org.apache.cordova.hellocordova
Format umgekehrter Domainname, entspricht der widget-id aus config.xml; wird zur Generierung des Java-Paketnamens verwendet, sinnvolle Einstellung empfohlen
nameAngezeigter App-Name, Standardwert: Hello Cordova
Entspricht dem Namensfeld in config.xml, wird zum Erstellen des Klassennamens des nativen Projekts genutzt

Optionen

  • --template: Projekt anhand einer lokalen, auf NPM oder GitHub gehosteten Vorlage erstellen
cordova create myapp com.mycompany.myteam.myapp MyAppCode-Sprache: CSS (css)

cordova platform

Verwaltet Plattformen: Hinzufügen, Entfernen, Aktualisieren und Auflisten. Das Hinzufügen oder Löschen einer Plattform verändert das Projektverzeichnis platforms.

cordova {platform | platforms} [
    add <Plattformangabe> [...] {--save | link=<Pfad> } |
    {remove | rm}  Plattform [...] {--save}|
    {list | ls}  |
    update ]Code-Sprache: HTML, XML (xml)

Unterbefehle und Parameter

UnterbefehlParameterBeschreibung
add <Plattformangabe>Plattform hinzufügen
–nosavePlattforminformationen nach der Installation nicht in config.xml / package.json schreiben
–link=Bei Nutzung lokaler Plattform-Quelltexte einen symbolischen Link erstellen statt Dateien zu kopieren (für Entwicklung und Debugging von Plattformen)
remove <Plattform>Plattform entfernen
–nosavePlattform entfernen, Einträge in config.xml / package.json jedoch behalten
update <Plattform>Plattformversion aktualisieren
–saveDie in config.xml hinterlegte Plattformversion aktualisieren
list / lsAlle installierten und verfügbaren Plattformen auflisten

Format der Plattformangabe <platform-spec>

Plattform[@Versionsnummer] | Lokaler Pfad | Git-Adresse[#Branch/Tag/Commit]Code-Sprache: PHP (php)
  • platform: Plattformname android / ios / browser / electron
  • version: Semantische Version semver, Beispiel ^13.0.0
  • path: Lokales Quellverzeichnis der Plattform oder tar-Archiv
  • url: Adresse eines Git-Repositories
  • commit-ish: Angabe von Branch, Tag oder Commit-Hash; Standardwert ist master, wenn nichts angegeben wird

Unterstützte Plattformen

androidbrowserelectronios

# Android und iOS hinzufügen und in Konfigurationsdateien speichern
cordova platform add android ios

# Android-Plattform mit festgelegter Version hinzufügen
cordova platform add android@^13.0.0

# Plattform aus Git-Repository anhand eines Tags installieren
cordova platform add https://github.com/myfork/cordova-android.git#13.0.0

# Plattform aus lokalem Verzeichnis installieren
cordova platform add ../android

# Android-Plattform entfernen
cordova platform rm android

# Alle Plattformen anzeigen
cordova platform lsCode-Sprache: PHP (php)

cordova plugin

Verwaltet die Plugins des Projekts

cordova {plugin | plugins} [
    add <Pluginangabe> [..] {--searchpath=<Verzeichnis> | --noregistry | --link | --save | --force} |
    {remove | rm} {<Plugin-ID> | <Name>} --save |
    {list | ls}
]Code-Sprache: HTML, XML (xml)

Parameter der Unterbefehle

UnterbefehlParameterBeschreibung
add <Pluginangabe>Plugin hinzufügen
–searchpath <Verzeichnis>Zuerst in diesem Ordner nach Plugins suchen; Pfadtrennzeichen: ; unter Windows, : unter Linux/Mac
–noregistryPlugin nicht aus dem offiziellen npm-Repository laden
–linkBeim Installieren aus einem lokalen Pluginordner einen symbolischen Link erstellen (Entwicklung und Debugging von Plugins)
–nosaveKeine Einträge in config.xml / package.json erstellen
–forceKonfliktierende Dateien zwangsweise überschreiben (neu ab Version 6.1)
removePlugin entfernen
–nosavePlugin entfernen, Eintrag in Konfigurationsdateien aber beibehalten
list / lsInstallierte Plugins auflisten

Format der Pluginangabe <plugin-spec>

[@scope/]Plugin-ID[@Version] | Lokales Verzeichnis | Git-Adresse[#commit][:Unterverzeichnis]Code-Sprache: PHP (php)

Priorität bei der Pluginauflösung (absteigend)

  1. Auf der Befehlszeile explizit festgelegtes Plugin mit Version
  2. In config.xml / package.json gespeicherte Plugin-Informationen
  3. Neueste auf npm verfügbare Version, die mit dem Projekt kompatibel ist (Plugin-package.json deklariert Cordova-Abhängigkeit)
  4. Neueste veröffentlichte Version des Plugins auf npm
# Kamera- und Datei-Plugin installieren, Suche zuerst in ../plugins
cordova plugin add cordova-plugin-camera cordova-plugin-file --searchpath ../plugins

# Mit festgelegter Version installieren
cordova plugin add cordova-plugin-camera@^2.0.0

# Plugin aus lokalem Ordner installieren
cordova plugin add ../cordova-plugin-camera

# Plugin entfernen
cordova plugin rm cordova-plugin-camera

# Pluginliste anzeigen
cordova plugin lsCode-Sprache: PHP (php)

Hinweise zu Plugin-Konflikten

Einige Plugins ändern native Konfigurationsdateien mittels edit-config aus der Datei plugin.xml.
Wenn mehrere Plugins denselben XML-Knoten bearbeiten wollen, entsteht ein Konflikt. Die CLI blockiert die Installation standardmäßig.
Mögliche Lösungen:

  1. plugin.xml der Plugins anpassen, damit nicht derselbe Knoten verändert wird (empfohlen)
  2. Installation mit --force erzwingen (⚠️ Risiko: Änderungen anderer Plugins werden überschrieben, diese können dadurch ausfallen)

cordova prepare

Synchronisiert die Einstellungen aus config.xml in die nativen Manifestdateien jeder Plattform; kopiert Icons, Splash-Screens und Plugin-Ressourcen, damit das Projekt den Voraussetzungen für die Kompilierung mit dem nativen SDK genügt.

cordova prepare [Plattformnamen...]Code-Sprache: CSS (css)

Wird keine Plattform angegeben, werden alle verarbeitet.

cordova compile

Führt ausschließlich die Kompilierung aus, prepare wird nicht ausgeführt. Üblicherweise nutzt man direkt build, dieser Befehl ist vor allem für Erweiterungen mittels Hooks gedacht.

cordova compile [Plattformen...]
    [--debug | --release]
    [--device | --emulator | --target=<Name>]
    [--buildConfig=<Datei>]
    [-- Plattformparameter]Code-Sprache: CSS (css)

cordova build

Entspricht prepare + compile und erstellt das App-Paket.

cordova build [Plattformen...]
    [--debug | --release]
    [--device | --emulator]
    [--buildConfig=<Konfigurationsdatei>]
    [-- Plattformparameter]Code-Sprache: CSS (css)
ParameterBeschreibung
–debugDebug-Version erstellen
–releaseErstellungsversion für den Vertrieb erstellen
–devicePaket für ein physisches Gerät erstellen
–emulatorPaket für Emulator-Architekturen erstellen
–buildConfigAngabe einer Build-Konfigurationsdatei, Standard ist build.json im Projektstamm; häufig für Signatureinstellungen genutzt
cordova build android --release --buildConfig=build.json
cordova build android --release -- --keystore="app.keystore" --alias=key0Code-Sprache: JavaScript (javascript)

cordova run

Führt prepare → build aus, stellt die Anwendung auf Gerät oder Emulator bereit und startet sie anschließend.

cordova run [Plattformen...]
    [--list | --debug | --release]
    [--noprepare]
    [--nobuild]
    [--device | --emulator | --target=<Name>]
    [--buildConfig=<Datei>]
    [-- Plattformparameter]Code-Sprache: CSS (css)
ParameterBeschreibung
–listAlle verfügbaren Geräte und Emulatoren auflisten
–noprepareSchritt prepare überspringen (ab Version 6.2)
–nobuildKompilierung überspringen, vorhandenes Installationspaket direkt bereitstellen
–targetName eines Emulators oder Geräts festlegen, Namen lassen sich mit --list abfragen

Beispiele:

# Geräte auflisten
cordova run android --list
# Auf einem bestimmten Emulator starten
cordova run android --target=Nexus_5_API_23_x86
# Ohne erneute Kompilierung starten
cordova run android --nobuildCode-Sprache: PHP (php)

cordova emulate

Alias für cordova run --emulator, startet die Anwendung ausschließlich auf einem Emulator.

cordova clean

Bereinigt alle Zwischendateien, die bei der Kompilierung der Plattformen erstellt werden

cordova clean android

cordova requirements

Prüft alle benötigten Umgebungsabhängigkeiten einer Plattform (JDK, Android SDK, Xcode usw.)

cordova requirements android

Bei vorhandenen Abhängigkeiten wird Exit-Code 0 zurückgegeben, fehlende Abhängigkeiten ergeben einen anderen Wert. Wird häufig zur Umgebungsprüfung in automatisierten Builds eingesetzt.

cordova info

Gibt vollständige Informationen zur Umgebung, den Plattformen und Plugins aus; unverzichtbar für das Einreichen von Fehlerberichten.

cordova info

cordova serve

Startet einen lokalen Webserver zur Vorschau der Web-Ressourcen im www-Ordner, Standardport ist 8000

cordova serve 8080
# Aufrufadresse: http://127.0.0.1:8080/android/wwwCode-Sprache: PHP (php)

cordova help

Hilfe zu einem Befehl anzeigen

cordova help build
cordova build -h

cordova config

Verwaltet die globalen Einstellungen von Cordova

cordova config ls                # Alle Einstellungen auflisten
cordova config set save-exact true
cordova config get save-exact
cordova config delete save-exact
cordova config editCode-Sprache: PHP (php)

Cordova-Befehlszeilentool (CLI) – Referenzhandbuch

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert