Android Studio 詳盡的NDK開發(fā)流程

NDK全稱Native Development Kit(本地開發(fā)工具集,)颖杏,NDK是一系列工具集纯陨,可以幫助開發(fā)者在Android平臺上面進行c/c++的開發(fā),并能自動將.so打包金apk中留储。關(guān)于NDK的環(huán)境配置大家自行g(shù)oogle解決翼抠,本文介紹初步的開發(fā)流程。

一获讳、創(chuàng)建項目并配置

1.新建Android項目,并在自己需要加載so文件的類或者自己新創(chuàng)建一個java類阴颖,在這里我先創(chuàng)建了一個類

2.HelloJni。生成C/C++代碼的存放路徑:如圖丐膝,選中app目錄量愧,創(chuàng)建完成后會在main文件夾下創(chuàng)建一個jni目錄。

3.build.gradle配置

4.如果報錯可根據(jù)提示在gradle.properties中設(shè)置android.useDeprecatedNdk=true

二帅矗、native方法聲明與.h文件的生成

如下:在類文件中聲明native方法

c文件.h的聲明文件可以根據(jù)規(guī)則自己寫侠畔,這樣比較麻煩并且容易出錯,所以我們還是通過javah命令創(chuàng)建损晤,將目錄切換到/app運行命令? 如果報錯如下圖软棺,那是說明你的類文件沒有編譯成class文件,才會出現(xiàn)錯誤尤勋。解決的辦法有多種喘落,這里我是在HelloJni類中添加main方法之后運行一次即可。

javah -d src/main/jni/ -classpath build/intermediates/classes/debug/ com.allen.ndkdemo.jnis.HelloJni

-d src/main/jni ?是命令創(chuàng)建的.h文件的存放路徑

-classpath build/intermediates/classes/debug/ com.allen.ndkdemo.jnis.HelloJni ?創(chuàng)建.h文件所需要的java編譯后的文件路徑

執(zhí)行javah命令之后會在src/main/jni 目錄下生成頭文件com_allen_ndkdemo_jnis_HelloJni.h ?到此頭文件成功創(chuàng)建

三最冰、C/C++代碼的編寫

.h 文件只是一個聲明文件,真正我們需要操作的代碼文件應(yīng)該是.c文件瘦棋,所有在jni目錄下創(chuàng)建同名的.c文件并引入聲明文件,并在代碼中返回一個字符創(chuàng)暖哨。如圖所示:

四赌朋、生成so文件配置及ndk-build

下面我們需要在jni目錄下添加 Application.mk文件、Android.mk文件,添加完文件之后,將目錄切換到 src/main/jni下執(zhí)行ndk-build命令

Application.mk文件

Android.mk文件

ndk-build命令之后的文件目錄:


五篇裁、so文件的加載與使用

HelloJni.java中加載類庫??

static{

? ? ? ? System.loadLibrary("hello");

}

其他地方直接調(diào)用即:HelloJni.getkey();

大家有問題歡迎添加 QQ:452144286 ?隨時為你解答沛慢,謝謝!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末达布,一起剝皮案震驚了整個濱河市团甲,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌黍聂,老刑警劉巖躺苦,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件身腻,死亡現(xiàn)場離奇詭異,居然都是意外死亡匹厘,警方通過查閱死者的電腦和手機嘀趟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來愈诚,“玉大人她按,你說我怎么就攤上這事∪怕罚” “怎么了尤溜?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵倔叼,是天一觀的道長汗唱。 經(jīng)常有香客問我,道長丈攒,這世上最難降的妖魔是什么哩罪? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮巡验,結(jié)果婚禮上际插,老公的妹妹穿的比我還像新娘。我一直安慰自己显设,他們只是感情好框弛,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捕捂,像睡著了一般瑟枫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上指攒,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天慷妙,我揣著相機與錄音,去河邊找鬼允悦。 笑死膝擂,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的隙弛。 我是一名探鬼主播架馋,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼全闷!你這毒婦竟也來了绩蜻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤室埋,失蹤者是張志新(化名)和其女友劉穎办绝,沒想到半個月后伊约,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡孕蝉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年屡律,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片降淮。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡超埋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出佳鳖,到底是詐尸還是另有隱情霍殴,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布系吩,位于F島的核電站来庭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏穿挨。R本人自食惡果不足惜月弛,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望科盛。 院中可真熱鬧帽衙,春花似錦、人聲如沸贞绵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽榨崩。三九已至谴垫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蜡饵,已是汗流浹背弹渔。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留溯祸,地道東北人肢专。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像焦辅,于是被迫代替她去往敵國和親博杖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

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