我正在构建一个在C ++中使用AAssetManager
(#include <android/asset_manager.h>
)的静态库,然后我将使用java中的库。
问题是我无法包含libandroid
,因为在构建静态库时我无法使用LOCAL_LDLIBS += -landroid
。(静态库总是忽略local_ldlibs
)
那么如何在不使用local_ldlibs
的情况下构建我的静态库?
答案 0 :(得分:1)
构建静态库时,您不需要满足外部引用,但如果有人使用您的库,则必须链接libandroid.so
。您可以将其放在库的文档中。
如果您提供 Android.mk ,则可以设置LOCAL_EXPORT_LDLIBS = -landroid
。顺便说一句,您还可以将LOCAL_EXPORT_INCLUDES
设置为包含库的公共标题的目录。
无论如何,NDK 10已经过时了。我强烈建议您转到当前版本(除非您迫切需要支持 android-3 )。