android-JNI的使用,自己動手

未聞花名

開發(fā)環(huán)境:Android Studio

JNI的開發(fā)流程主要分為以下幾個步驟:

1情萤、下載配置NDK



ndk

2 贡珊、創(chuàng)建一個類并定義native方法


3忙厌、在app目錄下build.gradle中添加ndk配置



4翩概、接下來我們把創(chuàng)建的HelloJni.java文件 編譯成HelloJni .class文件

1.首先我們cd到HelloJni所在的文件目錄?

2.通過cmd命令 javac HelloJni.java 生成class文件


5牲距、然后把.class編譯成 .h文件

1. cd到j(luò)ava目錄下?

2. 然后cmd 命令 javah -jni 包名+類名 或者javah? -classpath.-jni? 包名+類名

3、這時會生成一個com_example_administrator_jnihello_HelloJni.h文件

編譯生成.h文件

#########可能報錯 ###########

Error:Execution failed for task ':app:compileDebugNdk'.

> Error: Your project contains C++ files but it is not using a supported native build system.

Consider using CMake or ndk-build integration with the stable Android Gradle plugin:

https://developer.android.com/studio/projects/add-native-code.html

or use the experimental plugin:

http://tools.android.com/tech-docs/new-build-system/gradle-experimental.

Information:BUILD FAILED

Information:Total time: 1.303 secs

Information:1 error

Information:0 warnings

Information:See complete output in console

解決方法 :將“useDeprecatedNdk”設(shè)為true钥庇。解決方法:在gradle.properites中添加“android.useDeprecatedNdk=true”牍鞠。

6、.接下來在項(xiàng)目中創(chuàng)建一個jni目錄评姨,并將剛生成的.h文件剪切至這個目錄


7难述、.我們先來查看一下這個.h文件的內(nèi)容。這里面用java的概念來說就相當(dāng)于接口內(nèi)的抽象方法,需要我們創(chuàng)建.c文件來實(shí)現(xiàn)這些方法同時也就將我們的定義的native方法實(shí)現(xiàn)了

7.我們在jni目錄下創(chuàng)建一個hello_jni.c文件來實(shí)現(xiàn).h文件中的抽象方法

//自己創(chuàng)建一個c文件胁后,實(shí)現(xiàn)自己定義的native方法店读,也就是.h文件中的方法//引入自己生成的.h頭文件


8 ,我們在MainActivity中調(diào)用native方法?



9.將項(xiàng)目rebuild過后我們在./build就能看到生成的so文件了


10 攀芯、在手機(jī)上的運(yùn)行效果


參考文章:http://blog.csdn.net/a_zhon/article/details/53097512

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屯断,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子侣诺,更是在濱河造成了極大的恐慌殖演,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,423評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件年鸳,死亡現(xiàn)場離奇詭異剃氧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)阻星,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,147評論 2 385
  • 文/潘曉璐 我一進(jìn)店門朋鞍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人妥箕,你說我怎么就攤上這事滥酥。” “怎么了畦幢?”我有些...
    開封第一講書人閱讀 157,019評論 0 348
  • 文/不壞的土叔 我叫張陵坎吻,是天一觀的道長。 經(jīng)常有香客問我宇葱,道長瘦真,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,443評論 1 283
  • 正文 為了忘掉前任黍瞧,我火速辦了婚禮诸尽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘印颤。我一直安慰自己您机,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,535評論 6 385
  • 文/花漫 我一把揭開白布年局。 她就那樣靜靜地躺著际看,像睡著了一般。 火紅的嫁衣襯著肌膚如雪矢否。 梳的紋絲不亂的頭發(fā)上仲闽,一...
    開封第一講書人閱讀 49,798評論 1 290
  • 那天,我揣著相機(jī)與錄音僵朗,去河邊找鬼赖欣。 笑死屑彻,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的畏鼓。 我是一名探鬼主播酱酬,決...
    沈念sama閱讀 38,941評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼壶谒,長吁一口氣:“原來是場噩夢啊……” “哼云矫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起汗菜,我...
    開封第一講書人閱讀 37,704評論 0 266
  • 序言:老撾萬榮一對情侶失蹤让禀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后陨界,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體巡揍,經(jīng)...
    沈念sama閱讀 44,152評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,494評論 2 327
  • 正文 我和宋清朗相戀三年菌瘪,在試婚紗的時候發(fā)現(xiàn)自己被綠了腮敌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,629評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡俏扩,死狀恐怖糜工,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情录淡,我是刑警寧澤捌木,帶...
    沈念sama閱讀 34,295評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站嫉戚,受9級特大地震影響刨裆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜彬檀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,901評論 3 313
  • 文/蒙蒙 一帆啃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窍帝,春花似錦链瓦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拥峦,卻和暖如春贴膘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背略号。 一陣腳步聲響...
    開封第一講書人閱讀 31,978評論 1 266
  • 我被黑心中介騙來泰國打工刑峡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留洋闽,地道東北人。 一個月前我還...
    沈念sama閱讀 46,333評論 2 360
  • 正文 我出身青樓突梦,卻偏偏與公主長得像诫舅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宫患,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,499評論 2 348