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

use*_*898 30 c android android-ndk

Q1)我想在android模拟器上运行一个简单的c程序.我windows xp在我的机器上使用os.我已经安装sdk, jdk, eclipse了Android开发并成功在AVD上运行Android应用程序.

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

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

Ash*_*kan 16

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

arm-linux-gnueabi-gcc -static -march=armv7-a test.c -o test
Run Code Online (Sandbox Code Playgroud)

然后,您可以将编译后的二进制文件推送到某处(不要将其推入SD卡):

adb push test /data/local/tmp/test
Run Code Online (Sandbox Code Playgroud)


Jee*_*tel 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运行.


示例: 交叉编译Hello world C程序并在android上运行它


Ted*_*opp 5

您需要下载本机开发工具包

  • 我已经完成了..但我还没有找到任何有用的东西,下一步该做什么? (2认同)