Android NDK中mk文件编译参数解析

LOCAL_PATH := $(call my-dir)

#
#模块一
#

include $(CLEAR_VARS) #清除 local_path 以外的其他变量

LOCAL_LDLIBS 	+= -llog

LOCAL_MODULE    := NDK_Build #模块名称

LOCAL_SRC_FILES := NDK_Build.cpp NDKHello.cpp

include $(BUILD_SHARED_LIBRARY)  #构建共享模块

#
#模块二
#
include $(CLEAR_VARS)
LOCAL_LDLIBS 	+= -llog
LOCAL_MODULE 	:= NDK_Point
LOCAL_SRC_FILES := NDK_Class.cpp Point.cpp 
include $(BUILD_SHARED_LIBRARY)


#
#对于NDK支持静态库,但并不直接使用 静态库,而是把静态库源码,共享库源码合并成共享库
#
#
#include  $(CLEAR_VARS)
#
#LOCAL_MODULE		:= My_StaticModule
#LOCAL_SRC_FILES 	:= avalib.c work1.c work2.c
#
#include $(BUILD_STATIC_LIBRARY) #生成静态库
#
#include  $(CLEAR_VARS)
#
#LOCAL_MODULE		:= My_DyModule
#LOCAL_SRC_FILES 	:= Module1.c module2.c
#
#LOCAL_STATIC_LIBRARIES := My_StaticModule #将静态库加入
#
#include $(BUILD_SHARED_LIBRARY) #生成共享库
#


#
#----当然使用动静结合的方案也是有缺陷的,对于重用性较低的第三方源码可以编译进动态库,但重用性高的话会
#内存,源码体积也变大,因为静态库会成为动态库的一部分,因此,为了让重用性高的第三方源码尽可能的提高重用性,
#也提高效率,使用 共享库连接库的方式

#
# 共享链接库是把第三方源码编译成 动态库,然后链接给其他共享库,只需上述的include $(BUILD_STATIC_LIBRARY)
#改成$(BUILD_SHARED_LIBRARY),然后在其他模块中LOCAL_STATIC_LIBRARIES改成LOCAL_SHARED_LIBRARIES
#


你可能感兴趣的:(Android NDK中mk文件编译参数解析)