上一篇文章介紹瞭如何編譯生成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版本”
執行效果如下: