NDK安裝小結
一、NDK介紹
NDK 提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,并能自動將so和java應用一起打包成apk。這些工具對開發者的幫助是巨大的。NDK 集成了交叉編譯器,并提供了相應的mk文件隔離CPU、平臺、ABI等差異,開發人員只需要簡單修改mk 文件(指出“哪些文件需要編譯”、“編譯特性要求”等),就可以創建出so。NDK 可以自動地將so和Java \應用一起打包,極大地減輕了開發人員的打包工作。比較簡單的說,NDK是一套交叉編譯工具,它可以幫你把你用C或C++書寫的代碼,編譯為.so(類似與 win下的.dll)格式的文件,使你可以在你的Android程序當中用Java語言(JNI)調用這些代碼。
二、安裝cygwin
由于NDK編譯代碼時必須要用到make和gcc,所以你必須先搭建一個linux環境, cygwin是一個在windows平臺上運行的unix模擬環境,它對于學習unix/linux操作環境,或者從unix到windows的應用程序 移植,非常有用。通過它,你就可以在不安裝linux的情況下使用NDK來編譯C、C++代碼了。下面我們一步一步的安裝cygwin吧。
首先到www.cygwin.com下載setup.exe。
然后默認配置next,選擇離自己較近的鏡像站點準備下載安裝包列表。
這里列出后面開發NDK用得著的包:autoconf2.1、automake1.10、binutils、gcc-core、g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make(寧可多選,不能少選),最好再裝個vim。search需要安裝的包,點skip,把它變成數字版本格式,要確保Bin項變成叉號,而Src項是源碼,這個就沒必要選了。就可以進行安裝了。如下圖舉例:
下面測試一下cygwin是不是已經安裝好了。
運行cygwin,在彈出的命令行窗口輸入:cygcheck -c cygwin命令,會打印出當前cygwin的版本和運行狀態,如果status是ok的話,則cygwin運行正常。
然后依次輸入gcc –v,g++ --version,make –version,gdb –version進行測試,(注意空格和-)如果都打印出版本信息和一些描述信息,非常高興的告訴你,你的cygwin安裝完成了!
三、配置NDK環境變量
1、下載NDK,我下的最新的android-ndk-r6-windows.zip,直接解壓
2、首先找到cygwin的安裝目錄,找到一個home\<你的用戶名>\.bash_profile文件。
3、可以直接用記事本打開.bash_profile文件,添加NDKROOT=/cygdrive/<你的盤符>/<android ndk 目錄> 例如:NDK=/cygdrive/e/software/android-ndk-r6,然后export NDKROOT。NDKROOT這個名字隨意取。
4、打開cygwin,輸入env | grep NDKROOT,若顯示你剛才鍵入的值,則表明配置成功。說明一下,在r4版本之前,需要輸入build/host-setup.sh配置環境,這個在NDK目錄中的doc目錄下的OVERVIEW.TXT有說明:Previous releases required that you run the 'build/host-setup.sh'script to configure your NDK. This step has been removed completely in release 4
四、編譯NDK自帶的例子
1、運行cygwin,輸入cd /cygdrive/<android ndk目錄>/samples/hello-jni
2、輸入$NDK/ndk-build,執行成功后,它會自動生成一個libs目錄,把編譯生成的.so文件放在里面。($NDK是調用我們之前配置好的環境變量,ndk-build是調用ndk的編譯程序)。
3、此時去hello-jni的libs目錄下看有沒有生成的.so文件,如果有,你的ndk就運行正常。
4、eclipse中新建android工程,選擇第二項,如下圖,就可以跑起來了,然后可以研究下其他例子。
五、eclipse中集成CDT
在eclipse中集成c/c++開發環境。首先登錄http://www.eclipse.org/cdt/downloads.php,找到對應你Eclipse版本的CDT插件的在線安裝地址。 然后eclipse里點Help菜單,找到Install New Software菜單,下面就不說了,你可能會遇到Duplicate location重復路徑的錯誤,這時你可以選擇Available Software Sites,找到那個CDT安裝的地址,把其狀態設置成Enable就行了。
六、配置c/c++編譯器下次說
posted on 2011-10-17 20:45 ZircoN 閱讀(2822) 評論(0) 編輯 收藏 所屬分類: Android