剛剛接觸Android jni時感到束手無策啊,特別是被android ndk 不同版本給弄糊塗了,現在給大家介紹一下,希望對剛入門的菜鳥們有幫助啊!老牛就可以飄過了啊!
一,准備工作
Cygwin http://www.cygwin.com/
android-ndk-r5c http://developer.android.com/sdk/ndk/index.html
CDT Eclipse
二.安裝Cygwin
我們將采用Cygwin去編譯c,c++代碼
1.到上面給出的地址下載,點擊setup.exe安裝。
2.給大家介紹安裝過程要注意哪些問題,在這裡我只介紹幾個關鍵的步驟,其他點擊下一步就ok了
選擇下面這個地址進行下載安裝
選擇Devel Default 點成install 然後點擊下一步
安裝的過程可能要比較久,要看的網絡速度,大家就耐心的等待,等待大功告成,哇哈哈!!
安裝成功後打開桌面的上的Cygwin圖標,進入Cygwin,我們隨便測試幾個命令,如果能看到下面效果,證明你成功了。
三、安裝NDK
1.下載android-ndk-r5c (到2011-06時,最新的版本,這個與NDK r4之前的有很多不同,等下給大家介紹)
2.將android-ndk-r5c 解壓 具體位置自己定
3.打開cygwin 進入到android-ndk-r5c 的根目錄下,具體指令如下:
cd /cygdrive/d/android-ndk-r5c/ (我的ndk是在D:/android-ndk-r5c)
4.現在介紹ndk-r4之前,與之後版本的區別
1)r4之前的版本:
在第三步的基礎上,輸入build/host-setup.sh 如果出現下面的信息則表明安裝成功
編譯使用 make APP=hello-jni -B (hello-jni是ndk例子工程)
2)r4之後的版本:
自ndk r4版本後,不再需要在apps目錄下建立工程了,也不再使用make APP=工程名方式來編譯生成.so本地庫了。
在ndk r4版本後,使用的是ndk安裝目錄下的ndk-build腳本來實現的編譯。關於ndk-build的使用,文檔中是這樣說的,在
cygwin中輸入項目的所在路徑,然後使用$NDK/ndk-build來實現編譯。
注意到上面使用了$NDK,這是NDK安裝目錄在cygwin中的環境變量。
下面就簡單記錄下如何在cygwin中設置windows中的某個目錄為環境變量。
a、在桌面-》我的電腦-》屬性-》高級-》環境變量-》用戶變量-》找到HOME項,刪掉。
b、在cygwin安裝目錄下找到home文件夾,打開,裡面什麼都沒有。進入$cygwin/etc/skel下,復制一份.bash_profile文件。放 到
$cygwin/home/用戶名/目錄下。用戶名是你的當前登錄用戶,可能是Administrator。
c、打開.bash_profile文件,在文件末尾加上:
NDK=/cygdrive/d/android-ndk-r5(這裡寫成Linux中文件路徑形式,windows中對應的目錄和文件被mount在cygwin目錄下的cygdrive目錄下)。
export NDK
d、運行cygwin,輸入 cd $NDK,如何設置成功,則顯示剛剛配置的路徑。
e、測試ndk-build腳本,進入$NDK/sample/hello-jni項目下,運行$NDK/ndk-build
下面是使用r5c版本的NDK 運行的效果圖