ndk如何将代码放在jni之外

LOCAL_PATH := $(call my-dir)
SDK_PATH := ../../..

include $(CLEAR_VARS)
LOCAL_MODULE := libiconv_static
LOCAL_SRC_FILES := $(SDK_PATH)/base/3dparty/libiconv/android/lib/armeabi/libiconv.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libxml2_static
LOCAL_SRC_FILES := $(SDK_PATH)/base/3dparty/libxml2/android/lib/armeabi/libxml2.a
LOCAL_STATIC_LIBRARIES := libiconv_static
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libcurl_static
LOCAL_SRC_FILES := $(SDK_PATH)/base/3dparty/libcurl/android/lib/armeabi/libcurl.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := libuv_static
LOCAL_SRC_FILES := $(SDK_PATH)/base/3dparty/libuv/android/lib/armeabi/libuv.a
include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE:= sdk
LOCAL_SRC_FILES :=main.cpp
$(SDK_PATH)/base/3dparty/jsoncpp/src/json_writer.cpp
$(SDK_PATH)/base/3dparty/jsoncpp/src/json_value.cpp
$(SDK_PATH)/base/3dparty/jsoncpp/src/json_reader.cpp
$(SDK_PATH)/base/decode/base64.c
$(SDK_PATH)/base/decode/des.c
$(SDK_PATH)/base/thread/thread.cpp
$(SDK_PATH)/base/tool/setting.cpp
$(SDK_PATH)/base/tool/logger.cpp
$(SDK_PATH)/base/network/Transfer.cpp
$(SDK_PATH)/base/network/MultiTransfer.cpp
$(SDK_PATH)/base/network/UVThread.cpp
$(SDK_PATH)/base/network/UVAsyncMessage.cpp
$(SDK_PATH)/base/BaseFacade.cpp
$(SDK_PATH)/core/SDK.cpp
$(SDK_PATH)/core/Module.cpp
$(SDK_PATH)/core/Method.cpp
$(SDK_PATH)/core/HttpResponse.cpp
$(SDK_PATH)/core/HttpRequest.cpp
$(SDK_PATH)/core/AsyncProxy.cpp
$(SDK_PATH)/core/AsyncThread.cpp
$(SDK_PATH)/core/AsyncCallBackThread.cpp
$(SDK_PATH)/core/API.cpp
$(SDK_PATH)/core/CommentModule/CommentModule.cpp
$(SDK_PATH)/core/CommentModule/CommentMethods.cpp

LOCAL_CPP_EXTENSION := .cpp .inl
LOCAL_CPP_FEATURES := exceptions
LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDK_PATH)
$(LOCAL_PATH)/$(SDK_PATH)/base/3dparty/jsoncpp/include
$(LOCAL_PATH)/$(SDK_PATH)/base/3dparty/libcurl/android/include
$(LOCAL_PATH)/$(SDK_PATH)/base/3dparty/libxml2/android/include
$(LOCAL_PATH)/$(SDK_PATH)/base/3dparty/libiconv/android/include
$(LOCAL_PATH)/$(SDK_PATH)/base/3dparty/libuv/android/include
LOCAL_CFLAGS := -lpthread -DSDK_DEBUG_ANDROID
LOCAL_LDLIBS := -lz -llog
LOCAL_STATIC_LIBRARIES := libxml2_static libcurl_static libuv_static
include $(BUILD_SHARED_LIBRARY)

原文地址:https://www.cnblogs.com/guoxiaoqian/p/3939716.html