Cordova – Bitkorn Blog https://blog.bitkorn.de Developer Zeugz Fri, 05 Nov 2021 05:00:50 +0000 de-DE hourly 1 https://wordpress.org/?v=6.3.1 Angular wrapped in Cordova https://blog.bitkorn.de/angular-wrapped-in-cordova/ Sun, 29 Aug 2021 08:37:07 +0000 https://blog.bitkorn.de/?p=1043 Zuerst ein Cordova App Build bauen wie in Get Started Fast beschrieben.

Den Content aus dem Build von Angular in den www-Ordner vom Cordova Build kopieren.

In der index.html des Angular Projekts eine kleine Änderung:

<!-- from -->
<base href="/">
<!-- to -->
<base href="./">
]]>
Cordova SQL Datenbank Auswahl https://blog.bitkorn.de/cordova-sql-datenbank-auswahl/ Sat, 23 Feb 2019 09:57:42 +0000 http://blog.t-brieskorn.de/?p=565 Auf Storage – Apache Cordova findet man als Datenbank Lösung erstmal Web SQL und IndexedDB.

Soll die App unter Android und iOS laufen scheidet IndexedDB laut der Cordova Seite aus.
Also Web SQL …
Aber Web SQL hat man offensichtlich schon fallen gelassen:

Aber es gibt noch Plugin-Based Options bei Apache Cordova Storage. Hier könnte man das SQLite Plugin verwenden. Folgt man dem Link cordova-sqlite-storage erfährt man, dass es auf Web SQL aufsetzt.

…dann kann ich auch Web SQL benutzen wenn nicht spezielle Features wie z.B. der genannte Windows Support, benötigt wird.

]]>
Cordova Zeug https://blog.bitkorn.de/cordova-zeug/ Fri, 28 Sep 2018 10:54:08 +0000 http://blog.t-brieskorn.de/?p=492 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

]]>