首先說一下運作的開發環境
* Win7 64位
* Android Studio 2.2
* NDK版本是64位 r13b
首先在AndroidStuido中建立一個空白項目,建立好之後,選擇【File】->【project structure】顯示如下:
添加好NDK支援,記得提前下載下傳安裝好就行啦。這裡直接選擇到安裝好的路徑即可。然後建立一個Java類,添加兩個本地方法,儲存之後。
看一下項目目錄結構如下:

選擇【Build】->【Make Project】之後。就會在你的項目的如下目錄:
myndkdemo\app\build\intermediates\classes\debug生成編譯好的class檔案。
然後在Android Studio中打開終端指令行
通過cd目錄進入到目前項目main目錄,顯示如下:
然後執行:
javah -d jni -classpath .;%project_dir%/app\build\intermediates\classes\debug; basictutorial.gloomyfish.com.myndkdemo.HelloJNI
執行javah指令就會生成jni目錄與C++的頭檔案。然後到JNI目錄裡面建立一個檔案取名hello.cpp。在Android Studio中重新整理一下你的目錄就可以看到
輕按兩下打開Hello.cpp檔案,把頭檔案中生成的兩個方法copy到cpp檔案中。然後做如下修改
然後開始通過【Build】->【Build Project】開始編譯,如果得到如下錯誤
在gradle.properties檔案中添加如下語句
android.useDeprecatedNdk=true
然後繼續執行編譯動作,基本就OK了,這樣我們就是實作了兩個C++的功能一個是傳回字元串進行問候、另外一個是計算兩個數的平方和傳回結果。設計一個Android界面可以輸入兩個數值、然後點選計算調用C++功能完成計算之後傳回結果顯示通過在Android Activity中調用實作整個過程,代碼如下:
運作顯示結果如下:
XML的内容如下:
build.gradle的ndk相關腳本如下: