是否可以在Android上运行C程序

时间:2012-09-20 11:52:00

标签: android c android-ndk

我有一个用C编写的程序,带有标准的main()函数。

是否可以在Android上运行此程序,例如从我的应用程序或众多shell应用程序之一启动它?如果是这样,我需要采取哪些步骤来实现这一目标?我可以用NDK编译应用程序吗?

我知道有一些关于如何将C函数链接到Android代码的问题,主要指向NDK教程,但至少对我来说,没有一个是明确的。似乎NDK完全是关于使用C函数,而不是运行完全C编译的程序。这是对的吗?

2 个答案:

答案 0 :(得分:5)

您需要做的就是使用交叉编译器为正确的体系结构(通常是ARM)编译它(如何获取它取决于您的Linux发行版)。然后你可以像你的(基于Java)一样执行它,就像任何其他的可执行文件一样:

Process process = Runtime.getRuntime().exec(commandLine);

有关“执行”部分的更多信息,请参阅Any way to run shell commands on android programmatically?

答案 1 :(得分:0)

NDK包括从C源构建可执行文件所需的所有工具,可供Linux,Mac和Windows下载。你应该使用的神奇魅力是包括$(BUILD_EXECUTABLE)