Cmake

# 版本
cmake_minimum_required(VERSION 3.4.1)
# 添加庫(kù) 和 源文件
add_library(
        # 最終生成的名字 lib + native-lib .so
        native-lib
        # 明確指定是動(dòng)態(tài)庫(kù)
        SHARED
        # 很多的源文件  或者有一次添加所有源文件
        native-lib.cpp
)
# 變量指定 引用庫(kù)
find_library(
        log-lib
        # 這個(gè)是變量名 和下面的 ${log-lib} 用的是一個(gè)變量,用的是log庫(kù)
        # /android-ndk-r17c/platforms/android-28/arch-arm/usr/lib
        # 下面的log是什么意思 liblog.so == log
        log)
# 引入頭文件等一些庫(kù)
target_link_libraries(
        native-lib  
        ${log-lib}) # 這個(gè)log-lib 就是上面的庫(kù)位置

添加靜態(tài)動(dòng)態(tài)庫(kù)

步驟
1激挪、加入靜/動(dòng)態(tài)庫(kù)
2辰狡、導(dǎo)入靜/動(dòng)態(tài)庫(kù)
3、引用靜/動(dòng)態(tài)庫(kù)
注意
1垄分、so動(dòng)態(tài)庫(kù)的加入宛篇,默認(rèn)需要在和java同級(jí)別的目錄下,創(chuàng)建jniLibs目錄薄湿,下面再是x86/armeabi-v7a 目錄 叫倍,再下來(lái)是so文件。
2豺瘤、動(dòng)態(tài)庫(kù)加入后吆倦,直接運(yùn)行,第一次會(huì)報(bào)錯(cuò)坐求,因?yàn)镾ystem.loadLibrary是總的so蚕泽,如果so中還加入別的so,需要再總的前面先進(jìn)行

static {
        System.loadLibrary("get");   // 先引用so中引用的so 要么會(huì)找不到這個(gè)so
        System.loadLibrary("native-lib"); // 總的so
    }
cmake_minimum_required(VERSION 3.4.1)

# 添加庫(kù) 和 源文件
add_library(
        native-lib
        SHARED
        native-lib.cpp)    # 加入源文件桥嗤,不需要加h 文件  加了就出錯(cuò)
# 批量引入圓文件
file(GLOB allCpp *.cpp)
##1须妻、加入入靜態(tài)庫(kù)
#add_library(
#        get
#        STATIC IMPORTED
#)
## 2、導(dǎo)入靜態(tài)庫(kù)
#set_target_properties(
#        get PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/libget.a
#)
# 1泛领、加入動(dòng)態(tài)庫(kù)
add_library(
        get
        SHARED IMPORTED
)
# 2荒吏、導(dǎo)入動(dòng)態(tài)庫(kù)
set_target_properties(
        get
        PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../jniLibs/${CMAKE_ANDROID_ARCH_ABI}/libget.so
)

# 變量指定 引用的庫(kù),下面引用庫(kù)的時(shí)候渊鞋,直接引用變量
find_library(
        log-lib
        log)

# 3绰更、引用
target_link_libraries( # Specifies the target library.
        native-lib
        get
        ${log-lib})   # 這個(gè)log庫(kù),是根據(jù)gradle 最小版本來(lái)定篓像,最小版本多少动知,他就是多少的庫(kù)

C/C++ 交叉運(yùn)行

如果so是用C寫的,在引用的時(shí)候员辩,就不能直接引用盒粮,需要

// 因?yàn)槭莄寫的.a 現(xiàn)在是c++調(diào)用,會(huì)有問(wèn)題
//extern int get();
extern "C" {
    int get();
}
// 這樣在C++代碼中奠滑,才能直接get so中的方法

Gradle

 externalNativeBuild {
            cmake {
//                cppFlags "" 打包默認(rèn)包含4大平臺(tái)
                abiFilters 'x86'  //指定使用什么平臺(tái) 編譯
            }
        }

動(dòng)態(tài)庫(kù)規(guī)定放在main 下的jniLibs

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丹皱,一起剝皮案震驚了整個(gè)濱河市妒穴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌摊崭,老刑警劉巖讼油,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異呢簸,居然都是意外死亡矮台,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門根时,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瘦赫,“玉大人,你說(shuō)我怎么就攤上這事蛤迎∪肥” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵替裆,是天一觀的道長(zhǎng)校辩。 經(jīng)常有香客問(wèn)我,道長(zhǎng)辆童,這世上最難降的妖魔是什么宜咒? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮把鉴,結(jié)果婚禮上荧呐,老公的妹妹穿的比我還像新娘。我一直安慰自己纸镊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布概疆。 她就那樣靜靜地躺著逗威,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岔冀。 梳的紋絲不亂的頭發(fā)上凯旭,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音使套,去河邊找鬼罐呼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛侦高,可吹牛的內(nèi)容都是我干的嫉柴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奉呛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼计螺!你這毒婦竟也來(lái)了夯尽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤登馒,失蹤者是張志新(化名)和其女友劉穎匙握,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陈轿,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡圈纺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了麦射。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛾娶。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖法褥,靈堂內(nèi)的尸體忽然破棺而出茫叭,到底是詐尸還是另有隱情,我是刑警寧澤半等,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布揍愁,位于F島的核電站,受9級(jí)特大地震影響杀饵,放射性物質(zhì)發(fā)生泄漏莽囤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一切距、第九天 我趴在偏房一處隱蔽的房頂上張望朽缎。 院中可真熱鬧,春花似錦谜悟、人聲如沸话肖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)最筒。三九已至,卻和暖如春蔚叨,著一層夾襖步出監(jiān)牢的瞬間床蜘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工蔑水, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留邢锯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓搀别,卻偏偏與公主長(zhǎng)得像丹擎,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子领曼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容