因為初次使用AndroidNDK開發,而且使用的是Google近乎遺棄的Eclipse,去jni開發,實在是一件實為苦惱的事,花了我2天的時間~下面把我會分2節來“完美”的說明使用eclipse進行jni開發的步驟。
首先當然是安裝NDK,這裡要說明一下,以前的版本還在用cygwin,當時我接觸過android-ndk-r5c版本的NDK,當時我嘗試了下這一版本的使用,結果發現要想自己寫jni,還最好是用eclipse(如果你是大牛可以略過,反正我不是)。随後,下載下傳了新版android-ndk-r10e的NDK,其實是相當簡單,但百度了很多好多總結的都不太完善,我的步驟如下:
一、老版本使用cygwin開發ndk的相關配置:
(1)進入cygwin/home/使用者目錄/.bash_profile,添加如下語句:
NDKROOT=/cygdrive/E/ndk/android-ndk-r5c
export NDKROOT
export PATH="$PATH":"$NDKROOT"
(2)複制.bash_profile到C槽的使用者目錄下,再打開cygwin
(3)打開cygwin就是模拟的Linux界面了,可以輸入Linux語句,輸入cd $NDKROOT如果出現剛剛配置的目錄說明配置NDK成功。
(4)如果想編譯jni檔案,則需進入到項目的jni目錄下,輸入指令:$NDKROOT/ndk-build就可以将.so檔案導入到項目的libs裡。
二、新版本NDK的eclipse配置:
1、配置Eclipse與NDK關聯:Preferences->Android->NDK->選擇NDK解壓路徑(如:D:\ndk\android-ndk-r10e)
2、針對項目配置NDK環境:項目右鍵->Preferences->這裡需要修改3個東西,如下:
(1)Builders中:New->Program->填寫Builders名字、ndk-build.cmd路徑、jni路徑->OK
(2)C/C++ Build:
①取消選擇Use default build command并在Build command中輸入${NDKROOT}/ndk-build.cmd。
②C/C++ Build->Environment->Add->名字:變量名:NDKROOT和NDK路徑(如:D:\ndk\android-ndk-r10e)
(3)C/C++ General->Paths and Symbols->Add->NDK目錄下的C庫路徑(如:D:/ndk/android-ndk-r10e/platforms/android-17/arch-arm/usr/include):
完成這3項點選OK,到這裡就可以編寫jni代碼了。

3、附加一點,如果你打開eclipse會有這個錯誤”
Unable to launch cygpath. Is Cygwin on the path?] java.io.IOException: Cannot run program cygpath
“,那不用着急,隻要在計算機右鍵屬性->進階系統變量->配置環境變量->Path裡添加cygwin的bin目錄路徑即可(如:E:\ndk\cygwin\bin;),不管是使用者變量的Path還是系統變量的Path均可,但如果是使用者變量的Path一定要加上%PATH%;,它表示一并把全局中Path裡的參數帶到使用者變量裡來。
三、最後關于Android調用jni生成.so檔案的問題請看下節