【问题标题】:Android.mk for LibXtract用于 LibXtract 的 Android.mk
【发布时间】:2012-06-02 15:49:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: android linux audio android-ndk


    【解决方案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 出现在我的脑海中(PJSIP 从标准形式的 GNU make 文件转换而来)。

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

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

    【讨论】:

    • 感谢您的回答,我采用this 解决方案并使用Android.mk 生成了libxtract.so,现在尝试将其链接到另一个项目
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 2012-01-29
      • 2011-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多