如何在android中加载库,支持jni

时间:2011-10-21 00:59:12

标签: android makefile java-native-interface android-ndk

我有两个库,但两个库之间存在依赖关系,例如:

B.a取决于A.a

但要构建一个共享的lib C.so(B.a => C.so),我该怎么办。这是我的Android.mk,

LOCAL_LDFLAGS + = $(LOCAL_PATH)/B.a

但是在ndk构建之后,会出现错误,未定义的引用函数。(函数都在A.a中定义)

这是否意味着,它无法加载A.a?

是否有必要再次在Android.mk中加载A.a?

1 个答案:

答案 0 :(得分:0)

Take a look at my answer for this similar question.

您的问题是LOCAL_LDFLAGS的使用,仅限于一组特定的库,具体取决于您使用的api级别。请务必使用$NDK/docs/中提供的ndk文档,特别是$NDK/docs/ANDROID-MK.html$NDK/docs/STABLE-APIS.html来了解如何正确编写Android.mk文件。