2

有人可以帮我为 LibXtract 编写 Android.mk 或指出正确的方向吗?

这是 lib 的来源 - https://github.com/jamiebullock/LibXtract.git

或者也许有一种方法可以在 Android 中使用 linux 生成的共享对象?

4

2 回答 2

1

特别是对于较大的已建立项目,制作Android.mk文件是一项相当大的工作。更重要的是,如果您不熟悉 Android NDK 构建架构,其理解需要深入研究文档和 Android NDK make 文件。我建议尝试通过设置CC指向您的 NDK 工具链和CFLAGS += -sysroot $(SYSROOT)位置SYSROOT=${NDK_INSTALL_DIR}/platforms/android-<level>/arch-<arch>/(取决于目标 Android API 版本和架构)来使用现有的 make 文件。即使不知道你的图书馆,我敢打赌你应该有很大的成功机会。Android NDK 文档 ( ${NDK_INSTALL_DIR}/doc/STANDALONE-TOOLCHAIN.html) 详细介绍了独立工具链的使用,还说明了如何创建不需要使用-sysroot参数的独立工具链xxx-gcc

如果您决定Android.mk改用,您可能会检查现有项目 -我想到了 CSipSimple(标准形式的 GNU make 文件转换的 PJSIP)

重要的是使用 Android 工具链创建共享对象。可以在应用程序源代码树之外构建它们,然后将共享对象复制到包源libs/<architecture>/目录中。

与您的构建系统的集成取决于未知的细节(包括您希望整个集成有多顺利,例如因为其他人在同一个项目中工作)。如果您从命令行创建应用程序,最简单的方法是在包根目录中使用 GNU make 文件或 shell 脚本,通过调用 libXtract make file ant 来构建和打包 Java,确保libXtract.so您的应用程序包是最新的and应用。如果您正在使用ant应该有一种方法来指定使用make来照顾libXtract.so. 我不确定 Eclipse 是否完全依赖于ant构建应用程序来了解这是否足以通过在 Eclipse 中单击鼠标按钮来启用完整构建。

于 2012-06-03T05:20:42.697 回答
0

这个问题的答案说你可以使用 cmake 脚本来构建Android.mk文件——我没有尝试过这种方法。

于 2012-06-04T02:48:48.123 回答