Wie man ein C/C++-Programm auf dem Android-System kompiliert und ausführt
Lesezeit: 3 Minuten
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?
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.
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?
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.
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.
13887700cookie-checkWie man ein C/C++-Programm auf dem Android-System kompiliert und ausführtyes