我得到了一个构建在Linux x86上的共享库,我们称之为libA.so,并且我想使用此库SDK提供的函数调用。Android NDK:链接x86共享库
我有问题的建筑,并有几个问题:
1)我将能够建立适用于x86,但我将能够建立手臂?我相信答案是否定的,这意味着我无法在Nexus 5上运行。 2)ndk-build抱怨应该由我的LOCAL_SHARED_LIBRARIES解决的#include。我不确定这是为什么。我的Android.mk如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := B
LOCAL_SRC_FILES := B.cpp
LOCAL_SHARED_LIBRARIES := A
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
有人可以帮我解决我的Android.mk吗?我不明白为什么它在B.cpp中抱怨我的包含声明。请让我知道我是否可以在arm环境下运行B,尽管我依靠的SDK是构建在x86上的。
你可以发布你所得到的错误?另外,你能否澄清一下:你只有一个针对x86编译的libA.so的二进制版本,没有针对libA.so的源代码,并且你想在自己的B.cpp中有代码,它将从libA.so调用一个函数? – 2015-02-06 14:01:22
是的你是对的! – Jary316 2015-02-06 19:11:41