1、創建一個android項目(需要已添加了NDK引用)
2、添加本地支持
3、創建編譯模塊並指定模塊名
4、創建成功會有一個jni文件夾
5、爲項目添加C++頭文件(右鍵選擇項目的屬性進入,選擇C,CPP,單擊Add)
6、添加頭文件路徑(勾選add to all languages,此選項的明確作用暫時沒整明白,但是勾選後編譯成功或出錯率會降低)
7、C++頭文件位置(JDK安裝的文件夾下,此部分主要添加的是對Jni頭文件的引用)
8、添加完成後的樣子
9、添加編譯器自動編譯(選擇New來添加新編譯器)
10、選擇編譯器來自program
11、選擇瀏覽文件(NDK所在文件夾)添加編譯器
Locaiton:選擇瀏覽文件添加編譯器
Working Directory:選擇自己所在的項目
12、選擇NDK-buikder添加(添加編譯器)
13、選擇自己的項目
14、選擇第二項配置(勾選refresh resources upon completion)
15、第四項配置勾選之前(未進行任何操作的情況)
16、勾選選項之後 (操作之後,再選擇secify resources)
17、選擇自己的項目
18、配置成功會出現自己的obj文件夾
19、創建JniClient用於調用本地方法
20、Android.mk文件修改(此處的模塊名要與Jni編譯出來的頭文件名相同)
21、JniClient加載庫和本地方法 (native爲本地方法)
22、進入項目的classes文件夾下編譯出本地方法的頭文件(必須在項目的classes文件夾編譯,編譯的文件應該把完整的包名與類名打印出來才能成功編譯,直接在類所在的文件夾下編譯是不會成功的,親測。。。。)
23、編譯成功會生成對應的頭文件(頭文件名是可以修改的,隨便改成你想要的文件名都行,但要與Android.mk文件中的模塊名對應,兩個要相同)
24、測試配置(不是針對Jni專用的測試,正常的Android測試都可以這麼配置)
25、創建測試類
27、引用現有的C++文件(本地方法名系統自己已經幫我們生成了,這個直接從剛纔生成 的頭文件裏拷下來就可以 ,加上內容方法就OK了;編寫完的方法,如果配置自動編譯成功在文件保存時程序就會自己的編譯並生成 so庫)
27、編寫獨立的Java類用於調用SO庫
28、編譯成功會成功對應的SO庫(到此,已經成功編譯~~恭喜調用文件成功~~)