AndroidStudio结合JNI使用JrtpLib动态库(一)

上一篇文章介绍了如何编译生成JrtpLib的库文件,这篇文章探讨如何在Android上使用编译出的库文件。

1.创建项目勾选 Include C++ support

2.创建存放库文件和头文件的存放目录并将对应文件添加其中


3.修改CMakeLists.txt:

添加库(add_library,set_target_properties)

#直接引用jrtp库
add_library(jrtp SHARED IMPORTED)
set_target_properties(jrtp
PROPERTIES IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libjrtp.so)

#直接引用jthread库
add_library(jthread SHARED IMPORTED)
set_target_properties(jthread
PROPERTIES IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libjthread.so)

链接头文件(target_include_directories)

#链接第三方库的头文件
target_include_directories(native-lib PRIVATE
            include)

链接库(target_link_libraries)

target_link_libraries( # Specifies the target library.
        native-lib
        jrtp
        jthread
        ${log-lib}
)

设置参数(SET)

SET(CMAKE_CXX_FLAGS "-std=c++11 -g -O0")

指定ABI目录(include_driectories)

include_directories(/Users/danly/Library/Android/sdk/ndk-bundle/sysroot/usr/include/arm-linux-androideabi)

4.gradle中的defaultConfig下添加ndk项

ndk {
//选择要添加的对应cpu类型的.so库。
abiFilters 'armeabi-v7a'
}

5.Make Project通过后就可以在cpp文件中直接调用头文件和对应api了。

-------------------------------------------------------------------------------

EX:“打印RTPLibrary版本”

执行效果如下:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章