3

我有一个用 C 语言编写的具有标准main()功能的程序。

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

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

4

2 回答 2

5

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

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

请参阅以编程方式在 android 上运行 shell 命令的任何方式?有关“执行”部分的更多信息。

于 2012-09-20T11:55:00.857 回答
0

NDK 包括从 C 源代码构建可执行文件所需的所有工具,可在 Linux、Mac 和 Windows 上下载。你应该使用的魔法魔法包括 $(BUILD_EXECUTABLE)

于 2012-09-20T17:09:04.297 回答