Android Studio 從so創(chuàng)建到aar的導(dǎo)出再到三方集成

開發(fā)中使用到了各種key、三方賬戶垮庐、CA證書爆袍、算法等安全系數(shù)要求比較高的數(shù)據(jù)首繁,那么如果將這些數(shù)據(jù)存放到Java代碼中,試想安全級別是相當(dāng)?shù)偷脑赡遥挥捎贘ava是基于虛擬機(jī)的編程語言弦疮,更容易被人反編譯,因此越來越多的應(yīng)用將其中的核心代碼以C/C++為編程語言蜘醋,并且以SO文件的形式供上層JAVA代碼調(diào)用胁塞,以保證安全性。

那么本篇文章將介紹如何創(chuàng)建so庫文件及如何將so庫文件打包成aar文件供項(xiàng)目使用堂湖。

開發(fā)環(huán)境:
Java: 1.8.0
IDEA: Android Studio 3.4.1

minSdkVersion 15
targetSdkVersion 29
compileSdkVersion 29

1.創(chuàng)建Native C++項(xiàng)目

選擇Native C++點(diǎn)擊Next
填寫項(xiàng)目名稱及包名點(diǎn)擊Next
Standard默認(rèn)不修改,點(diǎn)擊Finish

ok状土,項(xiàng)目創(chuàng)建完畢无蜂,可以運(yùn)行試一下,項(xiàng)目默認(rèn)創(chuàng)建好了對應(yīng)的c++文件及Android端的調(diào)用

創(chuàng)建好的項(xiàng)目內(nèi)容
運(yùn)行效果

2.創(chuàng)建Module蒙谓,業(yè)務(wù)服務(wù)邏輯將放到此Module中(aar文件將由該Module生成)

在項(xiàng)目中創(chuàng)建 Module
選擇Android library點(diǎn)擊Next
填寫library name 點(diǎn)擊Finish
創(chuàng)建好的lib Module斥季,在app gradle文件中引入lib Module
在lib中創(chuàng)建DataHelper類加載so庫文件并對外暴露方法,alt+enter 生成對應(yīng)的c++代碼
編寫c++代碼累驮,對外提供相關(guān)數(shù)據(jù)
main方法中初始化DataHelper方法驗(yàn)證是否可用酣倾,運(yùn)行...
測試通過
Build - Make Project 生成對應(yīng)的so庫文件

此時(shí)生成的so文件會(huì)很大,可以進(jìn)行包體壓縮配置谤专,在CMakeLists.txt文件中加如下配置

# 壓縮包體
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -s")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s")
lib 的gradle文件中設(shè)置支持讀取so文件配置
將生成的庫文件拷貝到lib Module中的libs中躁锡,點(diǎn)擊右側(cè)Gradle中的assembleRelease,生成arr文件
在lib-build-outputs-aar 中生成出了arr文件

3.此時(shí)可以在其他項(xiàng)目中使用該arr文件了

引入aar文件置侍,配置gradle
arr文件的使用
效果

Ok映之,至此從so創(chuàng)建到aar的導(dǎo)出再到三方集成已經(jīng)講解完畢,感謝您的瀏覽蜡坊,Thanks

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末杠输,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子秕衙,更是在濱河造成了極大的恐慌蠢甲,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件据忘,死亡現(xiàn)場離奇詭異鹦牛,居然都是意外死亡搞糕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門能岩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來寞宫,“玉大人,你說我怎么就攤上這事拉鹃”哺常” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵膏燕,是天一觀的道長钥屈。 經(jīng)常有香客問我,道長坝辫,這世上最難降的妖魔是什么篷就? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮近忙,結(jié)果婚禮上竭业,老公的妹妹穿的比我還像新娘。我一直安慰自己及舍,他們只是感情好未辆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锯玛,像睡著了一般咐柜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上攘残,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天拙友,我揣著相機(jī)與錄音,去河邊找鬼歼郭。 笑死遗契,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的病曾。 我是一名探鬼主播姊途,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼知态!你這毒婦竟也來了捷兰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤负敏,失蹤者是張志新(化名)和其女友劉穎贡茅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡顶考,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年赁还,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了杂曲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片馋缅。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡畦木,死狀恐怖丹鸿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情栖榨,我是刑警寧澤找都,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布捏膨,位于F島的核電站却汉,受9級特大地震影響驯妄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜合砂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一青扔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧翩伪,春花似錦微猖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至囊颅,卻和暖如春当悔,著一層夾襖步出監(jiān)牢的瞬間傅瞻,已是汗流浹背踢代。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嗅骄,地道東北人胳挎。 一個(gè)月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像溺森,于是被迫代替她去往敵國和親慕爬。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

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