andriod NDK :Google為便于Android開發(fā)提供的一種原生開發(fā)集(Native Development Kit),可以幫助開發(fā)者快速開發(fā)C(或C++)的動(dòng)態(tài)庫(kù)置谦,并能自動(dòng)將so和java應(yīng)用一起打包成APK
與NDK密切相關(guān)的另一個(gè)詞匯則是JNI盛撑,它是NDK開發(fā)中的樞紐
https://www.crifan.com/files/doc/docbook/cross_compile/release/html/cross_compile.html
CMakeLists.txt
CMake:
find_package(XYZ)
: 用來在系統(tǒng)中自動(dòng)查找配置構(gòu)建工程所需的程序庫(kù)
include_directories(${XYZ_INCLUDE_DIRS})
:包括指定XYZ庫(kù)頭文件的查找路徑link_directories(${XYZ_LIBRARY_DIRS})
:包含指定XYZ庫(kù)的.a或.so文件的所在目錄的路徑.add_executable
生成可執(zhí)行文件ADD_LIBRARY/ADD_LIBRARY(libname [SHARED | STATIC | MODULE] [EXCLUDE_FROM_ALL] SRC_LIST)
生成動(dòng)態(tài)庫(kù)或靜態(tài)庫(kù) 饵筑,SHARED 動(dòng)態(tài)庫(kù)暑塑,STATIC 靜態(tài)庫(kù)TARGET_LINK_LIBRARIES(target lib1 lib2 …)
為target添加需要鏈接的共享庫(kù)