Toolchain für Android Apps

Axel

New Member
Hallo,

diese Toolchain baut ja ein komplettes FreeBSD auf ARM:
https://wiki.freebsd.org/arm/crossbuild

Was ich suche, ist eine Anleitung, mit der ich eine App (libc, libstdc++) für ARM und Android >=9 bauen kann.
An ports gibts da:
devel/arm-none-eabi-gcc und devel/arm-none-eabi-binutils
und das Android android_ndk für cmake und linux enthält die Libraries:
https://github.com/android/ndk/wiki/Unsupported-Downloads

Hat das schon mal jemand gemacht?

Gibt es einen Compiler für i386 ?

Danke, Axel
 
Die Compiler ID (oder Tripel oder so) für Android wäre vermutlich arm64-unknown-linux-bionic oder sowas in der Art.
Aber was willst du denn machen? Eine Android-App auf FreeBSD kompilieren? Das Android-Userland ist hauptsächlich Java-basiert, zumindest der Eintrittspunkt für deine App wird komplett aus Java aufgerufen. Ein C++-Compiler alleine wird also nicht ausreichen.
Google hat auch überhaupt kein Interesse, FreeBSD zu unterstützen. Ihre Gradle-Plugins haben überall Checks für Betriebssysteme, und da kennen sie nur Windows, Mac und Linux. Ich habe vor langer Zeit mal versucht, den Kram auf FreeBSD zu portieren, habe aber aufgegeben weil die Plattformen eben überall hardgecodet waren und Google sowieso keine Patches für Sachen nimmt, die sie nicht unterstützen wollen.
Ich denke die größten Chancen um auf FreeBSD für Android zu entwickeln hast du, wenn du das offizielle SDK/NDK über den Linuxulator benutzt.
 
Hallo goblin,

Danke für Deine Antwort.

Die Compiler ID (oder Tripel oder so) für Android wäre vermutlich arm64-unknown-linux-bionic oder sowas in der Art.
Aber was willst du denn machen? Eine Android-App auf FreeBSD kompilieren? Das Android-Userland ist hauptsächlich Java-basiert, zumindest der Eintrittspunkt für deine App wird komplett aus Java aufgerufen. Ein C++-Compiler alleine wird also nicht ausreichen.
Ich versuche dieses Projekt:
https://github.com/gkiefer/home2l
auf FreeBSD zu portieren.
Work-in-progress:
https://github.com/mc3/fbsd_local_ports/blob/master/net/home2l

Google hat auch überhaupt kein Interesse, FreeBSD zu unterstützen. Ihre Gradle-Plugins haben überall Checks für Betriebssysteme, und da kennen sie nur Windows, Mac und Linux. Ich habe vor langer Zeit mal versucht, den Kram auf FreeBSD zu portieren, habe aber aufgegeben weil die Plattformen eben überall hardgecodet waren und Google sowieso keine Patches für Sachen nimmt, die sie nicht unterstützen wollen.
Das habe ich befürchtet
Ich denke die größten Chancen um auf FreeBSD für Android zu entwickeln hast du, wenn du das offizielle SDK/NDK über den Linuxulator benutzt.
Bleibt mir wohl nichts anderes übrig. Der Author meint, das Projekt sei portabel. (-;
Ich habe mir mal die Dateien, die für cmake angeboten werden, angeschaut.
Die benötigten libc und libstd++ sind enthalten

Axel
 
Willst du das jetzt auf FreeBSD oder auf Android portieren? Android ist sehr weit von einem generischen, Unix-ähnlichen System entfernt, aber der Autor schreibt in der Readme, dass das Projekt auf Debian baut, was wiederum als Ziel hat ein möglichst generisches, Unix-ähnliches System zu sein. Von Android lese ich dort andererseits gar nichts.
 
Willst du das jetzt auf FreeBSD oder auf Android portieren? Android ist sehr weit von einem generischen, Unix-ähnlichen System entfernt, aber der Autor schreibt in der Readme, dass das Projekt auf Debian baut, was wiederum als Ziel hat ein möglichst generisches, Unix-ähnliches System zu sein. Von Android lese ich dort andererseits gar nichts.
Das Projekt baut Programme für den Host (Linux bzw. Freebsd), Andoid geräte (ARM oder I386 Architektur) sowie AVR (ATiny).
Der meiste Quellcode wird für die beiden ersten Plattformen gebaut. Die Androidgeräte sind alte Tablets als Wandgeräte zum Anzeigen und Abfragen.
 
Okay, so ergibt das alles Sinn :)
Ubuntu hat ein Android SDK in den Paketquellen, wobei das bestimmt auch nicht immer einfach ist weil Google bei den Anforderungen ja keine Rücksicht nimmt. In deinem Fall müsstest du eben versuchen, die Build-Tools im Linuxulator ans Laufen zu bekommen. Ich habe das damals nicht mehr probiert, aber wenn ich das heute versuchen würde, dann würde ich mit dem linux-oracle-jdk18 Port anfangen und schauen, ob die Build-Tools da drauf laufen. Anscheinend gibt es (verständlicherweise) keine Java-Versionen für den Linuxulator, du müsstest also selbst irgendwie Java dort installieren.
 
Zurück
Oben