4

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

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

提前致谢

4

4 回答 4

0

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

于 2010-07-13T14:49:19.113 回答
0

据我了解,您需要将 makefile 转换为 android 格式 :( 并使用 ndk_buidl 来构建它们

于 2010-07-13T14:34:11.233 回答
0

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

于 2012-05-20T12:47:48.610 回答
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 脚本构建您的 so 库。

于 2012-02-16T06:25:28.050 回答