有人可以帮我写一些针对LibXtract的Android.mk或指向我正确的指示吗?
以下是lib的来源 - https://github.com/jamiebullock/LibXtract.git
或者有没有办法在Android中使用linux生成的共享对象?
答案 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
个文件 - 我没有尝试过这种方法。