Android-Entwicklung

Morfio

Well-Known Member
Hallo zusammen,

gibt es die Möglichkeit, mit FreeBSD direkt oder per Linux-Emulation Android-Anwendungen zu entwickeln?

Viele Grüße

Morfio
 
Es gab mal ein Projekt das SDK auf BSD zu portieren. afaik ist das Projekt jedoch eingeschlafen. In nen VM habe ich es noch nicht versucht.
 
Mit Ubuntu in einer VBox auf einem FreeBSD-Host (ja, ich weiß) war es vor ~2 Jahren möglich.
 
Hallo,

die Android-Entwicklung unter FreeBSD funktioniert jetzt. Ich lasse die, die es interessiert, teilhaben, wie ich vorgegangen bin.

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 schieben.

[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 - 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

Das war es schon.

Viele Grüße

Morfio
 

Anhänge

  • Screenshot_2013-09-21-20-45-38.png
    Screenshot_2013-09-21-20-45-38.png
    35 KB · Aufrufe: 553
Zuletzt bearbeitet:
vielen Dank für deine Anleitung. Noch ein paar Fragen: Entwickelst du mit eclipse? Passen die Plugins auch für eclipse, speziell auch das Plugin, mit dem die Oberfläche graphisch gezeichnet werden kann?
 
Hallo,

nein, ich entwickle mit VIM. Eclipse und Konsorten sind irgendwie nichts für mich, so kann ich auch nichts dazu sagen. Beim SDK von Android gibt es allerdings dieses Bundle mit Eclipse, in so fern kannst du das selbst flott ausprobieren, ob das geht.

Viele Grüße Morfio
 
Falls sich jemand bemüht Eclipse unter FreeBSD zu testen, könnte er dann bitte auch Android Studio probieren?
Für alle, die vor Eclipse zurückschrecken wäre das auf jeden Fall eine Erleichterung, weil der Code von Jetbrains kommt und die wunderbar funktionierende und übersichtliche IDE's bauen. Außerdem mag Google glaub ich eh zu der IDE wechseln...
 
Hallo, ich habe auch alles ungefähr so gemacht, kann auch android benutzen, aber nur ohne GUI, d.h. mit -u.
Leider geht dann 'android sdk' nicht, beim Versuch, android mit GUI zu starten, erhalte ich folgendes:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.eclipse.swt.internal.gtk.OS._G_TYPE_INT()I
at org.eclipse.swt.internal.gtk.OS._G_TYPE_INT(Native Method)
at org.eclipse.swt.internal.gtk.OS.G_TYPE_INT(Unknown Source)
at org.eclipse.swt.widgets.Tree.getColumnTypes(Unknown Source)
at org.eclipse.swt.widgets.Tree.createHandle(Unknown Source)
at org.eclipse.swt.widgets.Widget.createWidget(Unknown Source

irgendeine Idee?
 
Es gibt noch einen Bug. Beim Ausführen von "ant debug" kann der folgende Fehler auftreten:
Code:
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. Andernfalls kann man auch /usr/local/bin/bash nach /bin/bash linken, was aber unsauber ist.
 
Hey Morfio, hast du mal was mit Gradle benutzt? Ich bekomm es leider nicht hin.

Alles so wie in der Anleitung, entsprechende Pakete ausgewählt mit dem SDK, dann habe ich folgendes gemacht (Kontalk als Beispiel-app)
Code:
git clone --recursive https://github.com/kontalk/androidclient
cd androidclient
export TERM=dumb # frag nicht, gradle kommt bei mir nicht mit xterm klar
./gradlew build
dann siehts sehr lange gut aus, er löst haufenweise Abhängigkeiten, fetch ganz viele Sachen und dann wenn es ans Bauen geht knallt es, siehe: https://github.com/rockerhieu/emojicon/issues/54
Das passiert unter Linux wohl nicht.

Hast du da einen Tipp?

Danke und Gruß,
h^2
 
Für alle, die vor Eclipse zurückschrecken wäre das auf jeden Fall eine Erleichterung, weil der Code von Jetbrains kommt und die wunderbar funktionierende und übersichtliche IDE's bauen.

Die Jungs von JetBrains bauen wirklich fantastische Software. Deren IDEs für Python, Ruby, C/C++, Java und viele andere Sprachen sind der Grund, warum (nicht nur) bei mir emacs und vi zum Programmieren nur noch ein Schattendasein fristen.
 
Zurück
Oben