如何在Android系统上编译和运行C / C ++程序

时间:2012-01-02 08:30:47

标签: android c android-ndk

Q1)我想在android模拟器上运行一个简单的c程序。我在我的机器上使用windows xp操作系统。我为安卓开发安装了sdk, jdk, eclipse并成功在AVD上运行Android应用程序。

Q2)我只需要知道有没有办法在AVD上运行C程序(没有任何java)。在我的机器上,我已经安装了arm并使用了我编译了一个C程序。

Q3)我也想知道是否有可能将已编译的二进制文件推送到android设备或AVD并使用Android设备的终端或AVD运行?

4 个答案:

答案 0 :(得分:14)

您可以使用ARM交叉编译器编译C程序:

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

然后你可以把你编译的二进制文件推送到某个地方(不要把它推入SD卡):

adb push test /data/local/tmp/test

答案 1 :(得分:7)

如果您已成功安装NDK,那么请从示例应用程序

开始

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

如果您对其他方式感兴趣,那么这可能会有所帮助

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

我也想知道是否有可能将已编译的二进制文件推送到 Android设备或AVD并使用Android设备的终端或AVD运行?

在这里,您可以看到NestedVM

NestedVM为Java字节提供二进制翻译。这是通过将GCC编译为MIPS二进制文件来完成的,然后将其转换为Java类文件。因此,用C,C ++,Fortran或GCC支持的任何其他语言编写的任何应用程序都可以在没有源代码更改的情况下以100%纯Java运行。


实施例: Cross compile Hello world C program and run it on android

答案 2 :(得分:4)

您需要下载Native Development Kit

答案 3 :(得分:-2)

如果您想直接在Android设备上编译和运行Java / C / C ++应用程序,我建议您使用Google Play的Terminal IDE环境。它是一个非常灵活的软件包,可以直接在您的设备上开发和编译Android APK,Java,C和C ++。界面是所有命令行和" vi"基于,所以它有真正的Linux感觉。它附带了gnu C / C ++实现。

此外,还有一个内置的telnet和telnet服务器应用程序,因此您可以使用PC和大键盘进行所有编程,但需要在设备上进行操作。不需要root权限。