我想编译并运行发送到我的 AndroidApp 的 .c 文件。我想在 ARM .c 文件上编译 ARM。我正在使用带有 Android 4.2 的 Galaxy Nexus。我已经安装了 Android SDK 和 Android NDK 我已经用终端 IDE 完成了这个,但我不想从终端手动编译它。现在我已经下载了适用于 Android 的 GCC (android-gcc-4.4.0),但不知道如何将其正确添加到我的应用程序中,以及如何从 Java 代码内部使用它进行编译。
我在互联网上阅读了很多关于此的内容,但没有一个真正帮助我弄清楚,如何做到这一点
所以我的问题是:如何使用我的 Android 应用程序中的 Android/NDK 工具链或任何其他工具链来编译然后运行 .c 文件。
编辑: 我现在在我的手机上的文件目录(data/data/.../files)中解压了 android-gcc。我想在手机上调用gcc编译器来编译一个.c文件。我尝试使用:
String[] cmds={MainActivity.this.getFilesDir() + "/android-gcc-4.4.0/bin/arm-eabi-gcc-4.4.0", "-c", file_path};
String result = "";
Process p = Runtime.getRuntime().exec(cmds);
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = in.readLine()) != null)
{
result += line + "\n";
}
alert_dialog("Output", result); // Creates and displays an alert dialog
in.close();
}
catch (Exception e)
{
alert_dialog("Error", e.toString() + "\n" + e.getMessage());
}
这是我在 Android 上调用 gcc 的方法,但我只得到以下异常:java.io.IOException: Error running exec()。命令 [...] 工作目录:空 环境空。
有谁知道如何在电话上正确调用 android-gcc 编译器?
任何帮助表示赞赏并提前感谢