下載下傳NDK工具
從官網下載下傳最新的ndk工具--http://developer.android.com/intl/zh-cn/tools/sdk/ndk/index.html,或者找下别人下載下傳的。輕按兩下提取内容。
配置path,環境變量
這裡需要把提取的内容,配置到path環境變量裡面。主要是有ndk-build,不然,每次都需要切換到這個目錄來執行指令。
配置Eclipse
配置Eclipse,window-preferences-android-NDK,把ndk-build路徑配置到這裡。
簡單示範:
1、建立項目--在MainActivity裡建立一個native的本地方法。例如,public native int add(int a,int b);
2、項目--右鍵--android tool---add native support --so檔案的名字---finish
3、等finish完成就到了c/c++的模式下,jni檔案夾自動生成了。因為是用c做示範,是以.cpp字尾要改成.c的字尾。同樣,android.mk裡面的指向也得改成.c
4、然後,在.c檔案裡去添加庫和實作java的本地方法。添加庫 #include <stdio.h> #include <stdlib.h> ,本地方法:Java_完整的包名_類名_方法名
5、資料類型的對照在jni.h的檔案裡有。(Tips:自己寫方法名有時候容易出錯,這裡可以使用 javah -jni 完整的類名,jdk1.6在項目bin下,jdk1.7在項目src下)
6、把.h檔案拖到jni目錄下,把.h裡面的方法聲明copy到.c裡就可以了(不容易出錯)。這時候就不是#include<jni.h> 而是 #include ".h問價的完整名"。(這時候會有報錯)
7、接着來配置,項目右鍵---Properties--C/C++ General--paths and Symbols--add(選擇ndk下面的platforms--任意一個版本的arm-include-usr)
8、配置完成以後,項目就沒有錯誤了。這麼做的好處是,當引用jni裡的方法是,會有提示(自己寫的時候沒有哦~)。
或者(**env). 都可以。自己寫的時候是沒有的。寫好方法了,點選上面工具欄的錘子圖示編譯,或者等運作的時候,自動編譯也可以。
9、最後,這種的好處還有,每次運作的時候,都會重新編譯so檔案。不用手動時候每次修改,都需要 ndk-build clean,ndk-build 來重新生成了。
10、jni目錄下還有一個檔案是Application.mk 說明哪種類型的,預設是arm。内容
APP_ABI := armeabi armeabi-v7a x86 mips arm64-v8a x86_64 mips64
可以是一個或者多個,如果添加所有的可以用all。
檢視NDK提供的示例
在file--new project---android---android project from existion code --選擇ndk(sample裡面任意一個就可以。然後,指令行切換到該項目目錄下ndk-build,運作就可以了)。
很久沒有使用了,自己留個印象。。。