android studio 3.4配置Android -jni 開(kāi)發(fā)基礎(chǔ)的教程詳解
首先下載配置android studio ndk
1.打開(kāi)sdkManager下載CMake和LLDB
2.配置ndk
項(xiàng)目新建
項(xiàng)目建立完畢后,工程目錄如下,cpp文件夾是系統(tǒng)自動(dòng)生成的
3.自定義 navite方法
接下來(lái)開(kāi)始寫(xiě)自定義的一個(gè)native方法,新建一個(gè)Hello.java文件,里面寫(xiě)一個(gè)add求和的native方法,如下
生成c++頭文件
然后在windows控制臺(tái)Terminal進(jìn)入hello.java所在的目錄執(zhí)行javac hello.java,如下
執(zhí)行完畢后hello.java的同級(jí)目錄下面會(huì)生成一個(gè)Hello.class文件,證明這一步成功啦!
然后還是在Terminal控制臺(tái)上面回退目錄到app/src/main下面執(zhí)行命令
javah -d jni -classpath ./java com.example.myapplication.hello
,后面是包名+文件名不帶后綴,請(qǐng)改成自己的包名,如圖
命令執(zhí)行完畢后會(huì)在app/src/main目錄下面生成一個(gè)jni文件夾,文件夾下面有一個(gè).h后綴文件,如圖:
新建cpp文件實(shí)現(xiàn)navtive 方法
把
com_example_myapplication_hello.h
中的內(nèi)容復(fù)制一份到myjni.cpp中,并添加
com_example_myapplication_hello.h
的引用(引用要改成引號(hào),不然下面的方法會(huì)報(bào)紅哦~),刪掉其他代碼,如圖
經(jīng)過(guò)測(cè)試Cmake必須將獲得的建立在cpp文件才能編譯通過(guò)
配置CMakeLists.txt文件
接下來(lái)是關(guān)鍵,在android studio3.0以前是沒(méi)有此步驟的,大家看工程目錄里面有一個(gè)CMakeLists.txt文件,這個(gè)文件是新建項(xiàng)目是自動(dòng)生成的,里面已經(jīng)寫(xiě)好了系統(tǒng)自動(dòng)生成的
cpp/native-lib.cpp文件的配置,打開(kāi)CMakeLists.txt文件,如下,
調(diào)用native方法
到此我們基本上已經(jīng)成功了,然后在Hello.java中添加代碼如下,添加的library名字一定要和上圖中添加的一樣:
最后在activity中調(diào)用add方法,
出錯(cuò)的地方總結(jié):
cmake 編譯會(huì)經(jīng)常提示編譯失敗
出現(xiàn)cmake編譯失敗請(qǐng)?jiān)谶@里找尋錯(cuò)誤
總結(jié)
以上所述是小編給大家介紹的android studio 3.4配置Android -jni 開(kāi)發(fā)基礎(chǔ)的教程詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Android實(shí)現(xiàn)訂單倒計(jì)時(shí)功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)訂單倒計(jì)時(shí)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01Android Studio中Logcat寫(xiě)入和查看日志
大家好,本篇文章主要講的是Android Studio中Logcat寫(xiě)入和查看日志,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽2022-01-01Android實(shí)現(xiàn)登錄注冊(cè)功能封裝
Android應(yīng)用軟件基本上都會(huì)用到登錄注冊(cè)功能,本篇文章主要介紹了Android登錄注冊(cè)功能封裝功能實(shí)現(xiàn),具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01Android編程開(kāi)發(fā)之RadioGroup用法實(shí)例
這篇文章主要介紹了Android編程開(kāi)發(fā)之RadioGroup用法,結(jié)合實(shí)例形式分析了Android中RadioGroup單選按鈕的具體使用技巧,需要的朋友可以參考下2015-12-12Android實(shí)現(xiàn)京東首頁(yè)效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)京東首頁(yè)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05Android?Studio中使用SQLite數(shù)據(jù)庫(kù)實(shí)現(xiàn)登錄和注冊(cè)功能
SQLite是一款輕型的數(shù)據(jù)庫(kù),是遵守ACID的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它包含在一個(gè)相對(duì)小的C庫(kù)中,下面這篇文章主要給大家介紹了關(guān)于Android?Studio中使用SQLite數(shù)據(jù)庫(kù)實(shí)現(xiàn)登錄和注冊(cè)功能的相關(guān)資料,需要的朋友可以參考下2024-06-06解決video標(biāo)簽在安卓webview下無(wú)法自動(dòng)播放問(wèn)題
這篇文章主要介紹了video標(biāo)簽在安卓webview下無(wú)法自動(dòng)播放問(wèn)題的解決方法 ,需要的朋友可以參考下2014-03-03Android 動(dòng)畫(huà)之AlphaAnimation應(yīng)用詳解
本節(jié)講解AlphaAnimation 動(dòng)畫(huà),窗口的動(dòng)畫(huà)效果,淡入淡出什么的,有些游戲的歡迎動(dòng)畫(huà),logo的淡入淡出效果就使用AlphaAnimation,具體的祥看本文,需要的朋友可以參考下2012-12-12