圖文詳解如何搭建Windows的Android C++開發環境(一)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
//=====================================================================
//TITLE:
// 圖文詳解如何搭建Windows的Android C++開發環境(一)
//AUTHOR:
// norains
//DATE:
// Thursday 14-April-2011
//Environment:
// Cygwin 1.7.9
// Android NDK r5
//=====================================================================
1. 下載Android NDK
正常來說,我們可以從官網下載NDK,不過似乎一直以來,http://developer.android.com/都無法開啟,所以還是通過搜尋引擎來隨便搜尋一個下載吧。為方便大夥,我這裡給出一個直接下載網址:http://dl.google.com/android/ndk/android-ndk-r5b-windows.zip。不過,雖然我是從這裡下載,但並不代表當各位朋友看到這篇文章時,還能夠繼續使用。
2. 解壓NDK
將下載回來的zip檔案解壓。我這裡的路徑是:D:/ProgramFiles/Android/NDK。雖然路徑是任意的,但儘可能不要包含有空格。
3. 下載Cygwin
Android是用linux核心的,註定為其編寫的程式不可能使用微軟的Visual Studio之流,何況Google也推薦採用linux開發C++程式。可問題在於,用Windows的人實在太多了,即使是程式設計師群體也是如此。那麼,這是否意味著我們必須要轉向linux呢?其實沒必要。我們只要下載一個cygwin即可解決問題。
這個cygwin究竟是何方神聖?它其實是linux工具的合集。它可以在windows下搭建一個linux的環境,讓你可以在windows下進行linux的程式開發。其官網網址為:
點選Setup.exe程式,會彈出一個下載方式選擇的對話方塊。因為我習慣於備份安裝檔案,以方便第二臺機器安裝,所以選擇的是第二項:"Download without installing",如圖:
在一系列的"下一步"之後,會到一個選擇下載元件的對話方塊。為了避免以後會出現莫名奇妙的問題,我建議還是全部選擇install,如圖所示:
以install方式下載整個cygwin的話,大小大概在1.7G左右,所以註定這是一個比較漫長的過程。特別是不能採用我們平時的下載工具,並且伺服器在國外,更加劇了耗時的長度。
4. 安裝Cygwin
還是依然點選setup.exe這個程式,不過這次我們選擇的是:"Install From Local Directory",如圖:
接著選擇安裝的目錄,我這裡是"D:/ProgramFiles/Cygwin",如圖所示:
再接下來呢,選擇的就是你下載回來的Cygwin包的路徑了,而我這裡路徑是"D:/Tools/cygwin",如圖所示:
可能有朋友無法確定自己的安裝路徑,其實很簡單,本地安裝包路徑就是setup.ini這個檔案所在的資料夾。
緊接著的安裝元件還是和之前一樣,全部選擇為install。點選下一步之後,就等著漫長的安裝過程的結束吧,如下圖所示:
5. 設定環境變數
安裝完畢之後,為了能夠方便編譯NDK,最好是設定相應的環境變數。開啟cygwin的安裝目錄下的home資料夾,然後進入到相應的使用者名稱中,如果你發現該使用者名稱下有.bash_profile檔案,那麼接下來就簡單多了,直接用記事本開啟該檔案,然後在檔案末尾新增如下文字:
#建立NDK的路徑,在windows中我的路徑為:D:/ProgramFiles/Android/NDK
NDK_ROOT=/cygdrive/D/ProgramFiles/Android/NDK
#新增到PATH環境變數中
export NDK_ROOT
儲存之後,開啟cygwin,在命令列輸入:cd $NDK_ROOT。這裡注意,不像windows下的CMD,這裡一定是區分大小寫的。如果不出意外,就會進入到我們NDK的安裝目錄了。
如果相應的使用者名稱資料夾中沒有改檔案,可能問題就沒那麼簡單了。如果你在該使用者名稱下建立一個.bash_profile ,並添加了相應的文字,然後如上面所說一切正常的話,那麼恭喜你!但事實上,往往不是那麼順利。很可能你會發現,即使我們在使用者名稱下建立了該檔案,但似乎環境變數根本沒有成功設定。這個很可能是使用者名稱所在的路徑設定不對,要檢驗路徑,直接在cygwin輸入pwd即可。
比如,我安裝完畢之後,輸入pwd,畫面顯示:
這意味著,如果我將.bash_profile放到D:/ProgramFiles/Cygwin/home/Administrator 是沒有任何作用的,而應該放到D:/WorkPlace !
那麼,我們有沒有辦法更改這個目錄呢?答案當然是可以,只要修改相應的環境變數即可。在"我的電腦"點選右鍵,然後按如下路徑進行選擇:屬性 -> 高階 -> 環境變數。在上面或下面的框中,找到HOME這個環境變數,更改為相應的數值即可。更改之後,重啟電腦,將.bash_profile拷貝到HOME變數指向的路徑,啟動cygwin,那麼就可以生效了。這裡需要注意,一定要重啟電腦,否則這HOME變數之前的數值可能還會影響到cygwin。
更改HOME變數數值之後,輸入pwd,很明顯看出,路徑已經改變,NDK_ROOT變數也起作用了,如圖:
6. 編譯程式
接下來,我們就來編譯一個程式試試。
首先,在cygwin命令列介面進入到D:/ProgramFiles/Android/NDK/samples/hello-jni路徑。如果對命令列不熟悉的朋友,可以輸入如下命令:cd /cygdrive/D/ProgramFiles/Android/NDK/samples/hello-jni
然後輸入"$NDK_ROOT/ndk-build"進行編譯。$NDK_ROOT是之前在.bash_profile設定的環境路徑,而ndk-build是呼叫NDK的編譯工具。如果不出問題,它會生成一個libs目錄,並且編譯生成的.so檔案也會悉數在此,如下圖所示:
啟動配置好的android的java開發環境,比如說Eclipse + CDT,然後建立一個Android專案,選擇Create project form existring source location =D:/ProgramFiles/Android/NDK/samples/hello-jni,確認後即可開始編譯並生成apk檔案,然後執行該程式即可。關於如何搭建Eclipse + CDT編譯環境來編譯android程式,我們下一篇文章再詳解。
參考文獻:
《Cygwin完全下載指南(上)》
http://blog.csdn.net/Lionwoo/archive/2005/08/06/446962.aspx
《Windows平臺下搭建Android原生C/C++開發環境 》
http://www.cnblogs.com/FinalKiller/archive/2009/07/11/1520900.html
《Android Beginners: NDK Setup Step by Step》
http://mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/
《windows系統整合cygwin與Eclipse與使用Android NDK r5》
http://student.csdn.net/space.php?uid=121497&do=blog&id=57864