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/

Upgrade auf das Android SDK 1.5

Um auf das neue SDK zu upgraden sollte man selbiges erst einmal herunter laden. Zu finden ist es unter http://developer.android.com/sdk/1.5_r1/index.html. Nachdem man das SDK heruntergeladen und entpackt hat sollte man Eclipse starten. Dort sollte man die alten Android Plugins deinstallieren, da es beim normalen Update zu Problemen kommen könnte.

Nachdem man die alten Plugins deinstalliert hat, kann man die neuen installieren. Nun muss man noch den neuen SDK Pfad angeben. Nachdem das geschafft ist. Nun muss nur noch ein Android Virtual Devices (AVD) für den Emulator angelegt werden. Dabei handelt es sich um Information welche Android Plattform welche emuliert werden soll. Dazu geht man mit der Kommandozeile in den tools Ordner des SDK’s. Dort gibt man dann

android list targets

ein und sieht so alle vorhandenen Ziele. Nun registriert man mit der Zeile

android create avd –name –target
z.B. android create avd –name avd_google –target 3

eine AVD.

Sollte es dann beim Entwickeln mit Eclipse noch Probleme geben so ist es meist darauf zurückzuführen das es zwei Dateien namens R.java gibt, eine im src Ordner und eine im neuen gen Ordner in dem alle automatisch generierten Dateien liegen. Die R.java Datei im src Ordner muss dann einfach gelöscht werden.

Weitere Informationen gibt es unter:
http://developer.android.com/sdk/1.5_r1/upgrading.html
http://developer.android.com/guide/developing/tools/avd.html