Wie man ein C/C++-Programm auf dem Android-System kompiliert und ausführt

Lesezeit: 3 Minuten

Benutzeravatar von user1125898
Benutzer1125898

F1) Ich möchte ein einfaches C-Programm auf einem Android-Emulator ausführen. Ich verwende windows xp os auf meiner Maschine. ich habe installiert sdk, jdk, eclipse für die Android-Entwicklung und erfolgreich ausgeführte Android-Anwendung auf AVD.

F2) Ich muss nur wissen, ob es eine Möglichkeit gibt, ein C-Programm (ohne Java) auszuführen AVD. Auf meinem Rechner habe ich arm installiert und damit ein C-Programm kompiliert.

F3) Ich möchte auch wissen, ob es möglich ist, die kompilierte Binärdatei auf ein Android-Gerät zu übertragen oder AVD und über das Terminal des Android-Geräts ausführen oder AVD?

Benutzeravatar von Ashkan
Aschkan

Sie können Ihre C-Programme mit einem ARM-Cross-Compiler kompilieren:

arm-linux-gnueabi-gcc -static -march=armv7-a test.c -o test

Dann können Sie Ihre kompilierte Binärdatei irgendwohin schieben (schieben Sie sie nicht auf die SD-Karte):

adb push test /data/local/tmp/test

  • ich habe Fatal: Kernel too old. Segmentation fault. Mein Ubuntu hat Kernel 3.2.0-38, während Android normalerweise auf 2.6.xx läuft. Wissen Sie, wie Sie den Compiler zwingen können, die Binärdatei statisch mit einer älteren glibc zu verknüpfen?

    – max

    12. April 2013 um 8:07 Uhr

  • @TranSonHai: Sie sollten Android NDK und seine verwenden bionic Laufzeitbibliothek anstelle der Ubuntu Toolchain.

    – Alex Cohn

    28. Februar 2014 um 13:37 Uhr

  • -march=armv7 geändert werden soll -march=armv7-a.

    – Javad

    21. November 2014 um 7:25 Uhr


  • Was ist mit anderen Architekturen wie Intel-CPUs?

    – Andre Fratelli

    22. Oktober 2015 um 8:31 Uhr

  • Sie sollten die Android-ndk-Toolchain verwenden und den richtigen Compiler für Ihre Architektur finden: developer.android.com/ndk/guides/standalone_toolchain.html

    – Aschkan

    1. November 2015 um 17:42 Uhr

Benutzeravatar von Jeegar Patel
Jeegar Patel

Wenn Sie NDK erfolgreich installiert haben, starten Sie mit der Beispielanwendung

http://developer.android.com/sdk/ndk/overview.html#samples

Wenn Sie an anderen Möglichkeiten interessiert sind, kann dies hilfreich sein

http://shareprogrammingtips.blogspot.com/2018/07/cross-compile-cc-based-programs-and-run.html

Ich möchte auch wissen, ob es möglich ist, die kompilierte Binärdatei in ein Android-Gerät oder AVD zu verschieben und über das Terminal des Android-Geräts oder AVD auszuführen?

hier sieht man Verschachtelte VM

NestedVM bietet eine binäre Übersetzung für Java-Bytecode. Dies geschieht, indem GCC in eine MIPS-Binärdatei kompiliert wird, die dann in eine Java-Klassendatei übersetzt wird. Daher kann jede Anwendung, die in C, C++, Fortran oder einer anderen von GCC unterstützten Sprache geschrieben wurde, in 100 % reinem Java ohne Quelländerungen ausgeführt werden.


Beispiel:
Crosskompilieren Sie das Hello World C-Programm und führen Sie es auf Android aus

Sie müssen die herunterladen Natives Entwicklungskit.

  • Ich habe es bereits getan … aber ich habe nichts Nützliches gefunden, was als nächstes zu tun ist?

    – Benutzer1125898

    2. Januar 2012 um 8:37 Uhr

  • @user1125898 – Was meinst du damit, dass du nichts Nützliches gefunden hast? Das NDK dient genau dem Zweck, nativen Code in C/C++ zu schreiben. Scrollen Sie zum Ende des von mir bereitgestellten Links und Sie sehen einen Abschnitt über die ersten Schritte sowie einen Link zur NDK-Diskussionsgruppe.

    –Ted Hopp

    2. Januar 2012 um 21:39 Uhr


Wenn Sie Java/C/C++-Apps direkt auf Ihrem Android-Gerät kompilieren und ausführen möchten, empfehle ich die Terminal-IDE Umgebung von Google Play. Es ist ein sehr raffiniertes Paket zum Entwickeln und Kompilieren von Android-APKs, Java, C und C++ direkt auf Ihrem Gerät. Die Schnittstelle ist komplett kommandozeilen- und “vi”-basiert, also hat sie ein echtes Linux-Feeling. Es kommt mit der gnu C/C++ Implementierung.

Darüber hinaus ist eine Telnet- und Telnet-Server-Anwendung integriert, sodass Sie die gesamte Programmierung mit Ihrem PC und Ihrer großen Tastatur vornehmen, aber am Gerät arbeiten können. Es ist keine Root-Berechtigung erforderlich.

1388770cookie-checkWie man ein C/C++-Programm auf dem Android-System kompiliert und ausführt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy