首先我做了一个简单的项目,然后我从ndk-build构建了该项目,它给了我firs-lib.so文件。现在我想将该文件作为Prebuilt共享库用于我的另一个项目。我已经更新了.mk文件。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := firs-lib-prebuilt
LOCAL_SRC_FILES := libfirs-lib.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := ndk_first
MY_SOURCES := main.c
MY_SOURCES += base.c
LOCAL_SRC_FILES := $(MY_SOURCES)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_SHARED_LIBRARY := firs-lib-prebuilt
include $(BUILD_SHARED_LIBRARY)
上面是我的Android.mk文件 每当我尝试从Prebuild共享库中调用一个函数时,它都会对方法进行未定义的引用。
请建议我实现这一目标。
答案 0 :(得分:0)
除了模块对firs-lib-prebuilt的依赖声明之外,一切都是正确的。
将LOCAL_SHARED_LIBRARY
更改为LOCAL_SHARED_LIBRARIES
。这肯定是一个语法错误,因为你只设置了一个lib,但LOCAL_SHARED_LIBRARIES
是ndk构建系统将考虑的唯一变量:)