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版本”

執行效果如下:



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