Android JNI和NDK學習(01)--搭建NDK開發環境
本文主要介紹“JNI”、“Android NDK”以及“如何搭建Android NDK開發環境”
1 JNI介紹
JNI是Java Native Interface的縮寫,中文為JAVA本地調用。
從Java1.1開始,Java Native Interface(JNI)標准成為java平台的一部分,它允許Java代碼和其他語言寫的代碼進行交互。JNI一開始是為了本地已編譯語言,尤其是C和C++而設計的,但是它並不妨礙你使用其他語言,只要調用約定受支持就可以了。
2 NDK介紹
Android NDK,即Native Development Kit。
眾所周知,Android程序運行在Dalvik虛擬機中,NDK允許用戶使用類似C / C++之類的原生代碼語言執行部分程序。Android的NDK是采用JNI機制實現的。
3 NDK開發環境需求
(一)linux開發環境。如ubuntu操作系統,或cygwin模擬環境;因為jni編程會用到gcc等交叉編譯環境。
本文環境:ubuntu 12.04。
(二)Android應用開發環境。包括eclipse、jdk等。
本文環境:ubuntu 12.04下搭建好的eclipse開發環境。
(三)Android ndk開發包。
本文環境:(ubuntu)ndk r7b版本
本文只介紹如何“(三)Android ndk開發包”的配置。
4 搭建NDK開發環境
(01)下載ndk包
可以到andorid官網下載,路徑如下:
http://developer.android.com/tools/sdk/ndk/index.html
注意:要選擇與操作系統匹配的ndk。例如,我的是ubuntu 12.04的32位操作系統;就選擇的是Linux 32-bit (x86) 的ndk包。
(02)下載完畢后,解壓縮;然后將ndk-build添加到環境變量中。
首先,將解壓后得到的ndk-build添加到環境變量中。執行以下命令,修改環境變量配置文件.bashrc。
$ gedit ~/.bashrc
在.bashrc中添加ndk-build的路徑到PATH中,參考如下內容:
# NDK_HOME必須和ndk的路徑一致!
export NDK_HOME=/home/skywang/workspace/ndk/r7b/android-ndk-r7b export PATH=$PATH:$NDK_HOME
注意:/home/skywang/workspace/ndk/r7b/android-ndk-r7b 是ndk解壓之后包的完整路徑,若用戶下載的ndk版本或路徑不同;只需要將其修改成相應的路徑即可。例如,若ndk的路徑是 /home/skywang/ndk/android-ndk-r9b;則設置 NDK_HOME=/home/skywang/ndk/android-ndk-r9b 即可。
配置完成之后,重新導入環境變量,通過以下命令:
$ source ~/.bashrc
接下來,檢查環境變量是否配置成功,通過以下命令:
$ ndk-build
沒有輸出“ndk-build: command not found” ,則意味着配置環境變量成功!
環境配置全部完成之后,即可開啟ndk開發之旅!