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?
Android Native Delompent Kit: http://developer.android.com/tools/sdk/ndk/index.html Aber eine Android App ist IMMER eine Java App, die kann aber nativen Code aufrufen. Sprich: Eine native Anwendung braucht einen Java-Wrapper.
Hopla, Ein c-programm mit main()-funktion, was auf stdout ausgibt, würde gar nicht funktionieren? eine konsole gibt es aber (App "terminal emulator")
Und aus def Shell geht das auch. Kannst bestimmt auch irgendein Terminal dazu bringen, per Laucherverknüpfung direkt dieses Binary zu starten. Auch das wäre in gewissem Sinne ja schon ein Wrapper.
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.
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.
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.
Ich bin mir jetzt nicht ganz sicher, aber mit Lazarus/Freepascal müsste das gehen. Google mal danach.
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
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.
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? :-)
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.
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
Danke, das kannte ich noch nicht. Ich bin schon eine Weile mit Lazarus unterwegs, aber daß damit auch Android als Zielplattform möglch ist, habe ich erst heute morgen erfahren. Deshalb wurde ich neugierig... Ist ja erstmal genug Stoff zum Lesen. Danke nochmals :-)
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).
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!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.