Android 加载第三方so文件

·  阅读 122
Android 加载第三方so文件

本文已参与「新人创作礼」活动,一起开启掘金创作之路

1、创建Native工程

2、添加第三方的头文件

2.1cpp目录下创建目录存放第三方头文件

在这里插入图片描述

2.2 加入第三方so文件

main目录下创建jniLibs目录,存放第三方so文件,默认会从此目录下获取so文件

在这里插入图片描述

3、CmakeLists文件配置

//TODO 第一步:导入头文件
include_directories(BEFORE hjmi)
    
 // Win path="safdsf;safdsaf;safdsafsa;fdsafdsaf;dsaf;%JAVA_HOME%"

// CMAKE_SOURCE_DIR == CMakeLists.txt所在的路径

// CMAKE_ANDROID_ARCH_ABI == 当前的CPU架构==armeabi-v7a

// ${ANDROID_ABI} 之前用的

// TODO 第二步:导入库文件
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${CMAKE_SOURCE_DIR}/../jniLibs/${CMAKE_ANDROID_ARCH_ABI}")
    
 // 连接动态库   
 target_link_libraries( # Specifies the target library.
                       native-lib
                       # Links the target library to the log library
                       # included in the NDK.
                       ${log-lib}
                        pngEncode
        )
复制代码

4、工程gradle配置

//  defaultConfig 的节点下
externalNativeBuild {
            cmake {
                cppFlags ''  //默认五大平台
                abiFilters 'armeabi-v7a' // 指定编译的平台架构  指定CPU架构,Cmake的本地库
            }
        }

// 指定CPU架构,打入APK lib/CPU平台 defaultConfig 的节点下
        ndk{
            abiFilters 'armeabi-v7a'
        }



// 指定cmake版本和位置   Android 节点下 
    externalNativeBuild {
        cmake {
            path file('src/main/cpp/CMakeLists.txt')
            version '3.10.2'
        }
    }
复制代码

5、使用

在自己的c++文件中导入头文件使用

分类:
Android
标签:
收藏成功!
已添加到「」, 点击更改