標籤:add content pen 檔案的 nat his rar project 建立
Step1:建立native方法
很easy,僅僅須要給定義好的方法加上native關鍵詞就可以
注意:由於該方法的詳細實現是在c++中詳細實現的。所以相似於介面方法不須要加{}。
Step2:產生class檔案(多數情況可忽略)
大多數情況下class檔案是已經產生的。可是在剛進行改動或者代碼中出現錯誤時,有可能會影響到class檔案的產生,這時僅僅須要又一次產生一下就能夠了。步驟為菜單條Build==>Make Project(若存在錯誤。修正後又一次嘗試本操作就可以)
Step3:產生.h檔案
點擊View->Tool Windows->Terminal,將命令列表單開啟,相當於windows下的cmd表單。
cd app/src/main/java
將路徑切換到app/src/main/java
javah -d ../jni collector.com.indoorun.orientionsensorcollector.JNI
將包括native方法的類編譯串連到.h檔案
此時項目中已經產生了jni目錄和.h檔案(其餘檔案是後來加入的。請先無視)
Step4:實現c/c++檔案
將上一步產生的.h檔案複製一份,尾碼名改成.cpp(個人喜歡c++,用c的話.c就可以),去除頭尾和凝視部分。將方法詳細實現,這一步驟須要一定的c/c++基礎。
Step5:配置gradle檔案
改動相應module的build.gradle檔案(配置ndk)
改動local.properties檔案(值得ndk路徑,沒有的話自己去下載個)
改動gradle.properties檔案(開啟ndk編譯許可權)
Step6:產生.so檔案
執行完畢後的結果:
Step7:使用jni
在java代碼中使用載入so庫(建議寫在Application中或者在jni類中用static代碼塊)
System.loadLibrary(“InertialJNI”);//你產生so檔案時取的名字。
然後在你須要用到的地方當成一般java方法一樣調用就可以了。
(確保使用前已經load)
以上~一切搞定~直接run就好了~
使用Android Studio進行NDK開發