Android.mk for LibXtract

时间:2012-06-02 15:49:24

标签: android linux audio android-ndk

有人可以帮我写一些针对LibXtract的Android.mk或指向我正确的指示吗?

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

或者有没有办法在Android中使用linux生成的共享对象?

2 个答案:

答案 0 :(得分:1)

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

如果您决定使用Android.mk,则可以检查现有项目 - CSipSimple出现在我的脑海中(PJSIP从标准格式GNU制作文件转换而来)。

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

与构建系统的集成取决于未知的细节(包括您希望整个集成的平滑程度,例如因为其他人使用同一个项目)。如果要从命令行创建应用程序,最简单的方法是在程序包根目录中使用GNU make file或shell脚本,通过调用libXtract make file {libXtract.so确保应用程序包是最新的。 1}}用于构建和打包Java应用程序的ant。如果您使用的是and,则可以指定使用ant来处理make。我不确定eclipse是否完全依赖于libXtract.so构建一个应用程序来知道这是否足以通过在eclipse中单击鼠标按钮来实现完整构建。

答案 1 :(得分:0)

The answer to this question说您可以使用cmake脚本构建Android.mk个文件 - 我没有尝试过这种方法。