Android中JNI開發環境:
大概分4個步驟:
1. 安裝Cygwin,線上安裝,安裝過程略(注意:安裝時除了常用的工具外不要忘了安裝make和gcc);
2. 下載NDK,下載完後直接解壓即可;
3. 配置環境-->這個很簡單。
找到Cygwin目錄下,開啟home/使用者/.bash_profile檔案,添加"NDK=/cygdrive/<你的盤符>/<android ndk 目錄>", 例如:
NDK=/cygdrive/e/android-ndk-r5
export NDK
4. 現在配置就算是完成了,可以直接通過命令“$NDK/ndk-build”來編譯android項目中的c/c++並打成庫了,執行成功後,它會自動產生一個libs目錄,把編譯產生的.so檔案放在 裡面。。
注意:編譯時間需要在android項目的根目錄下執行;
例如: cd $NDK -進入NDK的根目錄
cd samples/hello-jni/ -進入hello-jni項目的目錄
$NDK/ndk-build -編譯項目
然後找到這個項目目錄,發現會產生一個libs目錄就是編譯後的結果。開啟它,如果有libhello-jni.so這個檔案就正常了
注意:在這幾個步驟中可能會遇到一些錯誤,我遇到的說一下。
1.在編譯過程中提示:
ERROR: You are using a non-Cygwin compatible Make program.
這個是說你用的make工具不是cygwin的,後來發現原來,我的環境裡配置了WinGW,暫時的刪除後未提示了。
2. 在編譯過程中提示:
can't open file /cygdrive/d/android-ndk-k/check-awk.awk
source line number 1 source file /cygdrive/d/android-ndk-r7/build/awk/check-awk.awk
context is
>>> <<<
Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Naw
/cygdrive/d/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting. 。 停止
這個在網上看到說:找到“\NDK目錄\prebuilt\windows\bin\awk.exe”,把awk.exe刪除或改名,之後編譯通過。
3.在編譯過程中提示:
Cannot find 'make' program. Please install Cygwin make package or define the....
這個是說Cygwin沒有安裝make工具,我採用的是再次 線上安裝 一遍Cygwin,選擇相同的安裝目錄,重新勾上make工具,不會刪除以前安裝過的其它工具。