Native Executables für Android-Systeme

#3135341
Lesenswert?

Hallo,
mich würde interessieren, ob man mit einer entsprechenden 
Cross-Compiler-Umgebung Binärprogramme für Android compilieren kann 
(also kein Java/Dalvic Code) und starten.
Ausführen würde ich diese innerhalb "Vi IMproved Touch", also einer 
VIM-Portierung für Android.
Unter PC-OS kann man ja z.B. innerhalb VIM Binärprogramme starten (z.B. 
make), vielleicht geht das unter Android auch.
Die Programme sollen einen Inhalt aus einer Datei lesen und irgendein 
Ergebnis in einer anderen Datei ablegen, ein typischen Consolen-Programm 
halt.
Vielleicht hat das jemand schon gemacht und kann mir Tipps geben?
#3135921
Lesenswert?

Jürgen W. schrieb:
> Hopla,
> Ein c-programm mit main()-funktion, was auf stdout ausgibt, würde gar
> nicht funktionieren?

Möglich ist das auch. Allerdings ist es schwierig, ein solches Programm 
auf einem Gerät, das nicht gerootet ist, auszuführen. Die Verzeichnisse, 
auf die man überhaupt Schreibzugriff hat, liegen auf Filesystemen, die 
ohne executable-Rechte gemountet sind.
#3136057
Lesenswert?

Gerootet ist es (noch) nicht. Entsprechende Tools (für Xperia Tipo) 
laufen nur unter Windows, das muss ich noch besorgen.
Ich muss noch anfügen, dass ich nicht unbedingt Native Code brauche, 
eine Scriptsprache wie Python tät's auch.
Da man unter PC-Systeme so einfach mit gcc (oder mingw32-gcc) 
Native-Programme erstellen kann, dachte ich, bei Android wäre das auch 
so.

Ich muss lediglich das Programm von einer Konsole/Shell aus starten 
können ("launchen"), z.B. innerhalb Vi IMproved mit
1
:!myprog
oder
1
:!python myscript.py arg1 arg2
Grundsätzlich kann der VIM in Andriod Executables launchen, z.B. :!pwd, 
:!ls -l /

Obwohl ich schon eine Python-Script App installiert habe, kennt die 
Shell nicht den python-Befehl. Vllt muss das Gerät dazu gerootet sein, 
wer weis.
#3152110
Lesenswert?

Nils Stec schrieb:
> Das geht mit jedem ARM-linux-Cross-Compiler. Einfach compilieren,
> kopieren und ausführen.

Und die compilierten Programme kannst du unter Android laufen lassen? 
Wie bekommt z.B. ein beliebiger Cross-Compiler den Zugriff auf den 
GPS-Empfänger hin, oder den Magnetfeldsensor (oder andere Komponenten)? 
Ist die API von Android wirklich in jedem Linux-Crosscompiler enthalten?
Und wenn das so ist, wie bekommt man ein Programm gestartet in einem 
Verzeichnis, das keine execute-Rechte hat?

> ...Einfach compilieren,
> kopieren und ausführen.
Ich befürchte, so einfach ist das doch nicht, oder?
Erklär das mal bitte etwas genauer, wie du das meinst.
#3152962
Lesenswert?

Stimmt, bei Lazarus steht als Zielplattform auch Android mit drin. Jetzt 
bin ich überrascht :-)
Damit muß ich mich mal beschäftigen.
Weiß jemand, ob man da nur Kommandozeilen-Programme (Ein- und Ausgabe 
über Terminal) schreiben kann oder auch grafische Programme mit GUI und 
dem Ansprechen der einzelnen Komponenten im Android wie Sensoren usw.?

Gruß Bernd
#3153367
Lesenswert?

Rolf Magnus schrieb:
> Wenn du eine GUI haben willst, kannst du doch gleich eine App schreiben.
> Dann ist das einfacher.
> Wenn du es nicht in Java programmieren willst, geht das auch, z.B. mit
> C++ und Qt, per Necessistas.

Jetzt mal gaaanz langsam :-)
Das ist keine Antwort auf meine Frage.
Ich hatte gefragt, wie das ganze in Lazarus funktioniert und was man 
damit alles machen kann.
Und du schlägst mir vor, eine App zu schreiben und bringst dann noch C++ 
und Qt in die Diskussion.

Was hat das alles mit Lazarusprogrammen für Android zu tun?

Klär mich mal bitte auf, ok? :-)
#3153380
Lesenswert?

Rolf Magnus schrieb:
> Ich hatte übersehen, daß du den Thread gekapert hast und dachte, du
> seist der ursprüngliche Poster. Der wollte Kommandozeilenprogramme in C
> schreiben, und da du jetzt dann noch mit GUI kamst, schien mir das die
> logische Weiterführung.

Nee, is ja auch nicht schlimm. Ich habe nichts gekapert, aber ich wurde 
auf Lazarus hingewiesen und wollte als Gegenfrage nur wissen, was damit 
alles geht. Das konnte mir aber noch niemand beantworten. Ich will nicht 
unbedingt eine GUI, ich möchte nur wissen, was da möglich ist.

Gruß Bernd
(Firma: EleLa - www.elela.de) #3153712
Lesenswert?

Fragen wegen Lazarus & Android werden am besten in diesem Forum 
beantwortet:
http://www.lazarusforum.de/
Da gab es neulich mal einen Thead dazu.

Ich programmiere schon seit vielen Jahren mit Lazarus und erstelle die 
EXE für Windows/Linux 32/64 Bit. Nur mit dem Android hatte ich noch nie 
etwas zu tun. Ich hatte nur mal was gelesen.

Dennoch kann man mit Lazarus das Programm unter Linux testen, 
anschließend für Android kompillieren und dort nutzen. Schwierig wird es 
wohl erst, wenn gewisse API Befehle vom Android nicht unterstützt 
werden.

Mein EleLa Quellcode läuft zu 99,8% mit beiden Betriebssystemen, den 
Rest muss ich mit Compillerschaltern umswitchen (z.B. Dateisystem 
Operationen).
#3153722
Lesenswert?

Markus Müller schrieb:
> Fragen wegen Lazarus & Android werden am besten in diesem Forum
> beantwortet:
> http://www.lazarusforum.de/
> Da gab es neulich mal einen Thead dazu.
>
Da habe ich ab und zu mal was gelesen, wenn ich einen Tipp gesucht habe. 
Aber ich bin dort nicht angemeldet.
Ich werde mich dort auch mal in Sachen Androi umschauen. Danke!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren