我目前在 Linux 中用 C 语言编译了一组源代码,输出是一个 *.o 文件,它是一个目标文件。据说这会进行图像压缩。现在我想在 Android 中使用/测试它。
这可能吗?我只尝试了 Android NDK 开发人员方面的 NDK 示例。没有遇到任何关于如何做到这一点的参考资料。
提前致谢,佩马尔
我目前在 Linux 中用 C 语言编译了一组源代码,输出是一个 *.o 文件,它是一个目标文件。据说这会进行图像压缩。现在我想在 Android 中使用/测试它。
这可能吗?我只尝试了 Android NDK 开发人员方面的 NDK 示例。没有遇到任何关于如何做到这一点的参考资料。
提前致谢,佩马尔
您不运行目标代码文件 (*.o)。您需要将其转换为可执行文件。为此,假设您使用的是 GCC,您将运行gcc file1.o file2.o -o executable
它将具有 file1.o 和 file2.o 的两个文件程序转换为名为可执行文件的可执行文件。
答案是肯定的。但是你必须做一些相当多的工作才能看到它在 Android 上运行。
1) 如果您在 Linux 上编译,则意味着正在为 x86 或 AMD 处理器构建目标文件或最终可执行文件(大多数情况下)。但大多数移动设备都在手机上运行 ARM 处理器。所以,虽然你有一个可执行文件,但如果它不是为 ARM Cpu 构建的,你将无法在 Android 中执行它。这正是 android NDK 所做的。
2)因此,我们必须再次为Android(ARM)构建相同的代码,为此我们需要一个交叉编译器和您正在谈论的目标文件的源代码。
3)如果你有可用的源代码,你可以再做两件事。
现在终于可以登录然后检查结果了。如果有任何不清楚的地方,请告诉我。我不介意解释。谢谢..