jMonkeyEngine

Mit libGDX hatte ich vor einem Jahr bereits eine Game Engine für Java vorgestellt. Daneben existieren natürlich noch weitere Game Engines. Eine dieser Engines ist die jMonkeyEngine, welche seit 2003 entwickelt wird. Technisch basiert der SDK-Editor auf NetBeans-Plattform. Die Engine selbst nutzt OpenGL für die Darstellung der Grafik und verfügt über unterschiedlichste Features wie die Unterstützung für Beleuchtung, die Nutzung von Shadern, eine Reihe von Filtern und Effekten und eine Physikunterstützung. Daneben werden auch andere Dinge wie die Eingabe des Nutzers von der Engine abstrahiert.

Das jMonkeyEngine SDK

Lizenziert ist jMonkeyEngine unter der BSD-Lizenz und damit freie Software. Der Quelltext kann über GitHub bezogen werden. Die offizielle Seite des Projektes ist unter jmonkeyengine.org zu finden.

ANDROID_HOME unter macOS setzen

Beim Kompilieren eines Android-Projektes kann es zu folgender Meldung kommen:

Caused by: java.lang.RuntimeException: SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

Diese Meldung besagt dass das SDK nicht gefunden werden kann, da die Eigenschaft sdk.dir bzw. die Umgebungsvariable ANDROID_HOME nicht gesetzt ist. Unter macOS befinden sich die Android-SDKs im Library-Pfad des angemeldeten Nutzers:

/Users/seeseekey/Library/Android/sdk/sources

Der Nutzername, in diesem Beispiel seeseekey, muss natürlich durch den eigenen Nutzernamen ersetzt werden. Um diesen Pfad als Umgebungsvariable einzutragen muss das Terminal geöffnet werden und mittels cd in das Nutzerverzeichnis gewechselt werden. Anschließend wird die Datei .bash_profile angelegt bzw. geöffnet:

cd
nano .bash_profile

In diese Datei wird nun folgende Zeile eingetragen:

export ANDROID_HOME=/Users/seeseekey/Library/Android/sdk

Damit wird die Umgebungsvariable ANDROID_HOME automatisch bei der Anmeldung gesetzt und kann anschließend auch vom betreffenden Android-Projekt genutzt werden.

Sideloading mit dem Fire TV

Bei dem Fire TV von Amazon handelt es sich um eine kleine aber leistungsstarke Set-Top-Box auf Android-Basis. Neben den gebotenen Funktionalitäten, ist es möglich den Funktionsumfang mit Hilfe von Apps zu erweitern. Neben dem Amazon eigenen Appstore, kann man auch externe Apps einspielen. Dieser Prozess nennt sich dabei Sideloading.

Die Entwickleroptionen im Fire TV

Die Entwickleroptionen im Fire TV

Damit das ganze funktioniert müssen im ersten Schritt zwei Einstellungen auf dem Fire TV geändert werden. Dazu muss in den Einstellungen unter System -> Entwickleroptionen, der Punkt ADB-Debugging und Apps unbekannter Herkunft aktiviert werden. Nun kann man die Dateien mittels adb (enthalten im Android SDK) auf den Fire TV übertragen:

adb kill-server
adb start-server
adb connect 192.168.1.127
adb install test.apk

Einfacher funktioniert das ganze allerdings mit dem Tool adbFire, welches unter jocala.com/adbfire.html bezogen werden kann. Lizenziert ist adbFire unter GPL in der Version 3 und damit freie Software. Der Quelltext ist auf GitHub zu finden.

adbFire in der Mac OS X Version

adbFire in der Mac OS X Version

Um mittels adbFire eine APK-Datei zu installieren, muss im ersten Schritt die IP-Adresse des Fire TV eingetragen werden. Danach muss der Connect-Button betätigt werden. Nun kann mittels Install APK eine APK-Datei ausgewählt werden und auf dem Fire TV installiert werden. Gestartet werden kann die App dabei nicht über das normale Menü, sondern nur aus der vollständigen Appliste unter Einstellungen -> Anwendungen -> Alle installierten Apps verwalten. Wenn man den ES File Explorer installiert kann man zukünftig auch APKs ohne zusätzliche Tools auf dem Fire TV installieren. Mit diesem Dateimanager ist es unter anderem möglich neue APK-Dateien aus der Dropbox zu laden.

Androidgerät mittels adb löschen

Falls man mal in die Verlegenheit kommt ein Androidgerät löschen zu müssen, aber das Gerät keinen funktionierenden Bildschirm mehr besitzt, so hilft “adb” aus dem Android SDK welches unter http://developer.android.com/sdk/index.html bezogen werden kann.

Nach dem Download wird man feststellen das “adb” nicht mehr im “tools” Ordner des SDKs liegt. Stattdessen erwartet uns dort eine Datei mit dem Namen “adb_has_moved.txt”. Dort wird man darüber informiert das “adb” nun in dem Ordner “plattform tools” zu finden ist. Um diesen Ordner zu bekommen führt man unter Linux die Applikation “android” aus dem “tools” Ordner aus und installiert das entsprechende Paket.

Sollte anschließend beim Start von “adb” die Meldung:

./adb Datei oder Verzeichnis nicht gefunden

erscheinen so hilft hier ein:

sudo apt-get install ia32-libs

Nun schließt man das aktive Gerät an und gibt im Terminal folgendes ein:

./adb remount
./adb shell

In der Shell geben wir dann die entscheidenden Befehle ein:

wipe all
exit

Damit ist das Telefon von privaten Nutzdaten befreit.

Das Android NDK

Nun gibt es ja schon seit einiger Zeit das Android NDK. NDK steht dabei Native Development Kit. Doch was kann man genau damit machen? Auch wenn es im ersten Moment so klingt als ob man direkt Applikationen welche in C oder C++ geschrieben sind auf dem Gerät laufen lassen könnte, so ist es leider nicht so. Effektiv ist es so das man mit dem NDK nur Funktionen aus C/C++ Bibliotheken aufrufen kann und in der App benutzen kann. So etwas wird dann meistens bei zeitkritischen Dingen benutzt. Schade das nicht mehr möglich ist :( Zu finden ist das NDK dabei unter http://developer.android.com/sdk/ndk/.

Weitere Informationen gibt es unter:
http://mobile.tutsplus.com/tutorials/android/ndk-tutorial/