上一篇文章介绍了如何编译生成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版本”
执行效果如下: