Android-Entwicklung unter FreeBSD

Man ist nicht auf Linux angewiesen. Naja, doch, ein bisschen.

Von Thorsten Geppert am 08.02.2014, geändert 08.02.2014 (4073 Aufrufe).

Android-Anwendungen lassen sich neben Linux, Mac OS X und Windows auch auf FreeBSD entwickeln. Dazu dient diese Schritt-für-Schritt-Anleitung. Ich habe das auch in den bsdforen.de gepostet.

Schritt 1 - Installation der Linux-Emulation:

- Englisch: http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html
- Deutsch: http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/linuxemu-lbc-install.html

Schritt 2 - Linux-Java-SDK installieren

Mit Version 7 (1.7) hatte ich Probleme, deshalb installierte ich Version 6 (1.6). Man muss es von Oracle herunterladen, wozu ein Account dort benötigt wird, und dann nach /usr/ports/distfiles kopieren.

[thorsten@leela ~]$ portfind linux-sun-jdk
+ linux-sun-jdk-1.6.0.45 (/usr/ports/java/linux-sun-jdk16)

Schritt 3 - Android-SDK installieren und entpacken

Die SDK-Tools einzeln reichen, wenn man kein Eclipse nutzt (wie ich). Man muss die Version für Linux herunterladen.

- http://developer.android.com/sdk/index.html

Danach das Toolkit entpacken.

Schritt 4 - Systemanpassungen

Die Datei "android" im SDK unter "tools" muss angepasst werden.

java_cmd="java" ändern in java_cmd="/usr/local/linux-sun-jdk1.6.0/bin/java"

Ebenso muss die Variable JAVA_HOME angepasst werden mit dem folgenden Pfad:

/usr/local/linux-sun-jdk1.6.0

Schritt 5 - SDKs herunterladen

Auf der Kommandozeile "android" starten und die SDKs installieren, die man benötigt. Der Download kann einige Zeit in Anspruch nehmen

Schritt 6 - adb installieren

[thorsten@leela ~]$ portfind android
+ android-tools-adb-4.3_1 (/usr/ports/devel/android-tools-adb)

Schritt 7 - Android-Gerät anzeigen

In Android muss natürlich USB-Debugging eingeschaltet sein.

# adb devices

Werden keine Geräte angezeigt, hilft es bei mir, mit "adb kill-server" das Problem wieder zu beheben. "adb devices" listet dann die Geräte wieder auf. Das passiert bei mir, wenn das Gerät zwischendurch abstecke.

Android wird nachfragen, ob man den verbundenen Computer erlauben will, dass er auf das Gerät zugreifen darf. Das sollte man natürlich bestätigen.

Schritt 8 - dx fixen

Beim Ausführen von "ant debug" kann es zu dem folgenden Fehler kommen: Execute failed: java.io.IOException: Cannot run program "xxx/dx": java.io.IOException: error=2, No such file or directory. Der Shell-Pfad in der Datei ist falsch gesetzt und geht auf /bin/bash anstelle /usr/local/bin/bash. Es genügt, die Datei zu bearbeiten und die Shebang zu ändern (z.B. /usr/bin/env bash). Andernfalls kann man auch /usr/local/bin/bash nach /bin/bash linken, was aber unsauber ist.

Schritt 9 - Erstes Projekt

- http://developer.android.com/training/basics/firstapp/creating-project.html

Als Beispiel

# android list targets

Dort das richtige Target aussuchen. In meinem Fall ist das für Android 4.3 das Target mit der ID 27:

id: 27 or "android-18"
Name: Android 4.3
Type: Platform
API level: 18
Revision: 2
Skins: WXGA720, WSVGA, WXGA800, WVGA854, WQVGA432, HVGA, WXGA800-7in, WQVGA400, QVGA, WVGA800 (default)
ABIs : armeabi-v7a, x86

Dann das Verzeichnis erstellen:

# mkdir MyFirstApp
# cd MyFirstApp

und dann das Projekt initiieren:

android create project --target 27 --name MyFirstApp --path /path/to/MyFirstApp --activity MainActivity --package com.example.myfirstapp

Danach kann man es direkt kompilieren:

# ant debug

und so auf das Android-Gerät installieren:

# adb install bin/MyFirstApp-debug.apk

bzw. zur Reinstallation

# adb install -r bin/MyFirstApp-debug.apk

Viel Spaß bei der Android-Entwicklung unter FreeBSD.

[zurück]