Cordova Zeug

Get started at https://cordova.apache.org/docs/en/latest/guide/cli/index.html.

cordova platform ls

…gibt so etwas aus:
Installed platforms:
android 7.1.1
Available platforms:
browser ~5.0.1
ios ~4.5.4
osx ~4.0.1
windows ~6.0.0

Um einen Emulator mit einem vorhandenen Virtual Device (Device Name: pixel_api_25 | nexus_api_23) zu starten:

$ANDROID_HOME/tools/emulator -avd pixel_api_25

Jetzt aus dem Ordner der Cordova App ein

cordova emulate android

und die App wird im Emulator gestartet.
Um Code Aktuelisierungen auf das Device zu bringen ein

cordova emulate

Cordova Android Platform

Weil die meisten Plugins die aktuelle cordova-android 7.1.1 Version nicht unterstützen, kann man eine kleinere Platform adden.
Z.B. das cordova-plugin-barcodescanner hätte gerne cordova-android 6.3.0

cordova platform add android@6.3.0

Andere Cordova Version installieren

Einige Dinge machen Ärger mit aktuellen versionen, darum

sudo npm i -g cordova@7.1.0

Anschließend cordova-android entfernen und in gewünschter version installieren

cordova platform rm android
cordova platform add android@6.3.0

Run on Android

with Ionic:

ionic cordova run android --device

…im Emulator (pixel_api_25 ist im AVD Manager selbst gewählt):

ionic cordova emulate android --target pixel_api_25

…im Browser gucken mit Auto-Build:

ionic serve --platform=android

Verwendet man dann „plötzlich“ etwas natives wie [@ionic-native/android-permissions] könnte im Browser die Fehlermeldung Uncaught (in promise): cordova_not_available kommen. Dann hilft:

ionic cordova platform add browser
# run with
ionic cordova run browser

Systemvoraussetzungen

Cordova will Java 1.8.
Also, per apt installieren und aktivieren:

sudo update-alternatives --config javac

Jetzt will es noch Gradle, das beim Android-Studio bei sein soll.
Also mit dem Lieblings Paketmanager installieren.

Install Zeug

Folgende Pfade müssen gesetzt sein:

# java
if [ -d "/usr/lib/jvm/default-java" ] ; then
    export JAVA_HOME="/usr/lib/jvm/default-java"
fi

# android
if [ -d "$HOME/Android/Sdk" ] ; then
    export ANDROID_SDK_ROOT="$HOME/Android/Sdk"
    # export ANDROID_HOME="$HOME/Android/Sdk"
fi

# android SDK bin
if [ -d "$HOME/Android/Sdk/tools/bin" ] ; then
    export PATH="$HOME/Android/Sdk/tools/bin:$PATH"
fi

# android SDK platform-tools
if [ -d "$HOME/Android/Sdk/platform-tools" ] ; then
    export PATH="$HOME/Android/Sdk/platform-tools:$PATH"
fi

# android SDK Command-line Tools
# ohne den gibt es den: "java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema"
if [ -d "$HOME/Android/Sdk/cmdline-tools/latest/bin" ] ; then
    export PATH="$HOME/Android/Sdk/cmdline-tools/latest/bin:$PATH"
fi

# android SDK emulator
# ohne den gibt es den: "PANIC: Missing emulator engine program for 'x86' CPU."
if [ -d "$HOME/Android/Sdk/emulator" ] ; then
    export PATH="$HOME/Android/Sdk/emulator:$PATH"
fi

Die Android SDK Command-line Tools installiert man im Android Studio: Preferences > Appearance & Behavior > System Settings > Android SDK > SDK Tools
…guckst du stackoverflow.

Stackoverflow zu SDK emulator