OK, now I see your editing, and this allows you to answer a specific question.
Android.mk , Android NDK . . , , Cmake, " toolchain" "" make MS Visual Studio . . , .
${project_root}/libs/armeabi/ ( ARM v6 , x86, MIPS, arm v7a), APK- , ( ) /data/data/${package_name}/lib , , System.loadLibrary(short_name) Java. so -, ( ).
, Android.mk ${project_root}/jni. ndk-build , Android.mk. , (, ), , , Android.mk. , ndk-build - , gnu make, include Android.mk , make .
, , , Applications/MyApplication/ [Application]/jni/Android.mk :
include ../../Libraries/libOne/Android.mk
include ../../Libraries/libTwo/Android.mk
include ../../Libraries/libThree/Android.mk
, libOne libTwo, libOne Libraries/libOne/Android.mk
LOCAL_PATH = $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libOne
LOCAL_SRC_FILES := first.c
include $(BUILD_STATIC_LIBRARY)
Libraries/libThree/Android.mk
LOCAL_PATH = $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libThree
LOCAL_SRC_FILES := third.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../libOne $(LOCAL_PATH)/../libTwo
LOCAL_STATIC_LIBRARIES := libOne libTwo
include $(BUILD_SHARED_LIBRARY)
ndk-build Applications/MyApplication/ [Application] - , Eclipse ADT.
update Android.mk jni:
LOCAL_PATH = ../../Libraries/libOne
include $(CLEAR_VARS)
LOCAL_MODULE := libOne
LOCAL_SRC_FILES := first.c
include $(BUILD_STATIC_LIBRARY)
LOCAL_PATH = ../../Libraries/libThree
include $(CLEAR_VARS)
LOCAL_MODULE := libThree
LOCAL_SRC_FILES := third.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../libOne $(LOCAL_PATH)/../libTwo
LOCAL_STATIC_LIBRARIES := libOne libTwo
include $(BUILD_SHARED_LIBRARY)