如何使用Gnu makefile为库编写Android.mk

时间:2010-05-04 12:25:55

标签: android android-ndk gnu-make

我想使用使用Gnu构建工具(gnu makefile)的巨大第三方本机库制作Android应用程序。

我的问题是如何为这些库编写“Android.mk”文件,以便使用Android构建系统或Android NDK构建它们。

提前致谢

4 个答案:

答案 0 :(得分:0)

据我所知,你需要将makefile转换为android格式:( 并使用ndk_buidl构建它们

答案 1 :(得分:0)

唯一可行的方法是编写NDK makefile。许多大型图书馆都以这种方式移植过。通常,您应该运行configure脚本来生成config.h和config.mak文件。您将使用config.mak列出您的来源。网上有教程可以移植一些用Android NDK构建的流行库。我在freetype,ffmpeg,SDL,DevIL等方面取得了成功。

答案 2 :(得分:0)

您可以使用以下技巧:下载agcc,然后使用编译您的库 ./configure CC=agcc CXX=agcc --host=arm-linux-androideabi && make。之后,像这样创建简单的jni/Android.mk

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := jni.cpp # this file will provide native methods for java part
LOCAL_LDLIBS += libYourLibraryBuiltWithGNUToolchain.a
LOCAL_MODULE := YourSoLibrary

include $(BUILD_SHARED_LIBRARY)

之后,您可以使用ndk-build脚本构建您的库。

答案 3 :(得分:0)

ndk的最新版本允许您生成一个独立的工具链,它封装了大部分的android唯一性,因此可以像普通的gcc和支持程序一样调用它。这有点适合与现有的项目构建系统一起使用 - 尽管配置脚本假定能够在主机上执行目标功能测试代码将失败,就像在任何交叉编译案例中一样。