如何在android中加载库,并支持jni
我有两个库,但是两个库之间存在依赖关系,例如:
Ba依赖于Aa
,但要构建共享库C.so(Ba => C.so),我该怎么办。这是我的 Android.mk,
LOCAL_LDFLAGS += $(LOCAL_PATH)/Ba
但在 ndk 构建之后,它出现错误,未定义的引用..函数。(函数全部在 Aa 中定义)
这是否意味着,它不能加载Aa?
是否需要再次加载Android.mk中的Aa?
i have two libs, but there is a dependency between the two libs, such as:
B.a depends on A.a
but to build a shared lib C.so( B.a => C.so ), what should i do. here is my Android.mk,
LOCAL_LDFLAGS += $(LOCAL_PATH)/B.a
but after ndk-building, it comes up the errors, undefined reference..functions.(the functions are all defined in A.a)
does that mean, it can not load A.a?
is it necessary to load A.a in Android.mk again?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看看我对这个类似问题的回答。
您的问题是使用
LOCAL_LDFLAGS
仅限于一组特定的库,具体取决于您使用的 api 级别。请务必使用$NDK/docs/
中提供的 ndk 文档,特别是$NDK/docs/ANDROID-MK.html
和$NDK/docs /STABLE-APIS.html
了解如何正确编写 Android.mk 文件。Take a look at my answer for this similar question.
Your problem is the usage of
LOCAL_LDFLAGS
which is limited to a specific set of libraries, depending on the api level you are using. Be sure to make use of the provided ndk documentation in$NDK/docs/
, specifically$NDK/docs/ANDROID-MK.html
and$NDK/docs/STABLE-APIS.html
to find out how to properly write your Android.mk file.