下載下傳ndk,安裝完cygwin後
1.在系統變量Path後面加上C:\cygwin\bin
這樣在dos下,隻要輸入bash就可以進入到cygwin環境。
2.在系統變量Path後面加上E:\android\android-ndk-r8
輸入指令行的時候簡單一點。
3.先定義一個系統變量NDK_ROOT=E:\android\android-ndk-r8
注意這個指令在cygwin下 cd $NDK_ROOT可以快速定位到E:\android\android-ndk-r8,在cygwin下顯示為/cygdrive/e/android/android-ndk-r8
在cygwin安裝目錄etc\profile檔案打開後修改添加NDK目錄PATH="/usr/local/bin:/usr/bin:/cygdrive/d/android/android-ndk-r8e:${PATH}"
修改後可以在bash用戶端運作ndk-build。
4.首先找到cygwin的安裝目錄,找到一個home\<你的使用者名>\.bash_profile檔案,我的是:D:\cygwin\home\Administrator\.bash_profile,
打開bash_profile檔案,添加NDK=/cygdrive/<你的盤符>/<android ndk 目錄> 例如:
NDK_ROOT=/cygdrive/e/android-ndk-r5
export NDK_Root
(NDKRoot這個名字是随便取的,為了方面以後使用友善,選個簡短的名字,然後儲存,前面不要加"#");
這個可能在config配置檔案中用到NDK_ROOT,起到作用。
打開cygwin,輸入cd $NDK_ROOT,如果輸出上面配置的/cygdrive/e/android-ndk-r8e資訊,則表明環境變量設定成功了。
編譯c代碼,用的E:\android\android-ndk-r8下的ndk-build指令
在bash裡面輸入
$cd /cygdrive/e/android/android-ndk-r8/samples/hello-jni
在hello-jni目錄下輸入ndk-build
(在hello-jni/jni目錄下執行ndk-build也得到一樣的結果,但不知道有什麼差別)
如果出現如下畫面,并且存在這個檔案:e:androidandroid-ndk-r5b/samples/hello-jni/obj/local/armeabi/libhello-jni.so,恭喜你編譯環境的基礎工作已經做好了。
在編譯如ffmpeg這樣的項目時,往往需要先寫配置檔案(config.sh),然後再寫編譯腳本(mk檔案)
然後再編譯。
如果有的項目這些配置工作都做好了,那麼可以像編譯hello-jni一樣直接ndk-build.(比如havenaptr ffmpeg)