七.引入so库

根据六.打包so库
我们有一个v7包的 test-lib.so与其对应的头文件test1.h

一.拷贝test-lib.so与test1.h到项目中

拷贝

二.配置CMakeList

#添加头文件
include_directories(${CMAKE_SOURCE_DIR}/inc)


#设置第三方依赖库的位置
# CMAKE_ANDROID_ARCH_ABI https://cmake.org/cmake/help/v3.12/variable/CMAKE_ANDROID_ARCH_ABI.html
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -L${CMAKE_SOURCE_DIR}/../jniLibs/${CMAKE_ANDROID_ARCH_ABI}")

设置依赖的库 native-lib依赖log

#cmake最小支持版本
cmake_minimum_required(VERSION 3.4.1)

#添加头文件
include_directories(${CMAKE_SOURCE_DIR}/inc)

#添加一个动态库, 根据native-lib.cpp 源文件编译一个native-lib的动态库
add_library( 
             native-lib
             SHARED
             native-lib.c )


#设置第三方依赖库的位置
# CMAKE_ANDROID_ARCH_ABI https://cmake.org/cmake/help/v3.12/variable/CMAKE_ANDROID_ARCH_ABI.html
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -L${CMAKE_SOURCE_DIR}/../jniLibs/${CMAKE_ANDROID_ARCH_ABI}")

# 查找系统库,这里是查找系统日志库 liblog.so,并赋值给变量log-lib
find_library( 
              log-lib
              log )

# 设置依赖的库 native-lib依赖log

 target_link_libraries(
                       native-lib
                       test-lib
                       log )

三.jni调用

image.png

你可能感兴趣的:(七.引入so库)