1、引入第三方静态库,需要支持多cpu情况()
Android.mk方式:
LOCAL_SRC_FILES := $(LOCAL_PATH)/openssl-support/lib/${TARGET_ARCH_ABI}/libcrypto.a
关键点:使用变量${TARGET_ARCH_ABI}来匹配多芯片配置
cmake方式:
link_DIRECTORIES(src/main/cpp/openssllib/lib/${ANDROID_ABI}/)
关键点:使用变量${ANDROID_ABI}来匹配多芯片配置
2、需要编译的源文件比较多,并且源文件是放在某些目录底下的,为了好看,也是避免重复写路径
Android.mk方式:
TMP_COMM_SOURCES :=
debug.c
socket.c
thread.c
userpref.c
utils.c
LOCAL_SRC_FILES := $(addprefix common/, $(TMP_COMM_SOURCES))
关键点:使用addprefix函数了添加前缀,就是源文件的目录common
cmake方式:
aux_source_directory(src/main/cpp DIR_SRCS)
ADD_LIBRARY(cxsec SHARED ${DIR_SRCS})
关键点:使用aux_source_directory函数把src/main/cpp目录下的所有源文件,保存到 DIR_SRCS 变量
后续有时间会陆续补更
友情关注,关于jni的编译及第三方库的编译欢迎私聊探讨



