当我需要导出几个本机库时,如何配置android.mk

当我需要导出几个本机库时,如何配置android.mk,android,c++,android-ndk,Android,C++,Android Ndk,现在我导出一个本机库,我的文件夹如下: JNI\ANN*.cpp android.mk文件如下所示: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(LOCAL_PATH)/../ LOCAL_MODULE := libann LOCAL_LDLIBS := -llog NDK_TOOLCHAIN_VERSION := clang LOCAL_CPPFLAGS += -std=c+

现在我导出一个本机库,我的文件夹如下:

JNI\ANN*.cpp

android.mk文件如下所示:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../ 

LOCAL_MODULE    := libann
LOCAL_LDLIBS    := -llog

NDK_TOOLCHAIN_VERSION := clang
LOCAL_CPPFLAGS += -std=c++11

LOCAL_SRC_FILES := \
    ANN.cpp \
    bd_pr_search.cpp \
    bd_tree.cpp \
    kd_pr_search.cpp \
    kd_split.cpp \
    kd_util.cpp \
    bd_fix_rad_search.cpp \
    bd_search.cpp \
    brute.cpp \
    kd_fix_rad_search.cpp \
    kd_search.cpp \
    kd_tree.cpp \
    kd_dump.cpp \
    perf.cpp\
    sample.cpp

include $(BUILD_SHARED_LIBRARY)
现在我想添加一些其他cpp文件并导出另一个本机库。 例如,我添加了两个文件:graph.h、dijkstra、cpp
我应该如何配置android.mk文件?

为什么需要构建几个库?你不能把所有本机代码塞进一个库吗?不同的库代表不同的逻辑和不同的东西。所以我想把它们分成不同的部分。这种可能性存在吗?@SevaAlekseyev是对的;您应该有很好的理由希望在项目中生成多个本机库。另外,请在提问之前,先说明你尝试过的内容,以及为什么这种尝试失败。在C++中,还有其他方法来分离逻辑类、命名空间、文件。将代码拆分为库不是一种好方法。存在一种可能性,但这不是一个好主意。我必须选择将代码放入一个库中。但是,您能否提供一些示例或提示,以便将代码导出到多个库中?
project/
    liba/
        srca.cpp
    libb/
        srcb.cpp 




# TOP_PATH refers to the project root dir (project)
TOP_PATH := $(call my-dir)/.

# Build library a
include $(CLEAR_VARS)
LOCAL_PATH := $(TOP_PATH)/liba
LOCAL_MODULE := liba
LOCAL_C_INCLUDES := $(LOCAL_PATH)
LOCAL_SRC_FILES := srca.cpp
include $(BUILD_SHARED_LIBRARY)

# Build library b
include $(CLEAR_VARS)
LOCAL_PATH := $(TOP_PATH)/libb
LOCAL_MODULE := libb
LOCAL_C_INCLUDES := $(LOCAL_PATH)
LOCAL_SRC_FILES := srcb.cpp
include $(BUILD_SHARED_LIBRARY)