圖文詳解如何搭建Windows的Android C++開發環境(一) – Android移動開發技術文章_手機開發 Android移動開發教學課程

//=====================================================================
//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:ProgramFilesAndroidNDK。雖然路徑是任意的,但盡可能不要包含有空格。



3. 下載Cygwin


    Android是用linux核心的,註定為其編寫的程序不可能使用微軟的Visual Studio之流,何況Google也推薦采用linux開發C++程序。可問題在於,用Windows的人實在太多瞭,即使是程序員群體也是如此。那麼,這是否意味著我們必須要轉向linux呢?其實沒必要。我們隻要下載一個cygwin即可解決問題。


    這個cygwin究竟是何方神聖?它其實是linux工具的合集。它可以在windows下搭建一個linux的環境,讓你可以在windows下進行linux的程序開發。其官網網址為:http://www.cygwin.com/,大傢可以自行去下載。隻不過該軟件必須要用官網的setup.exe文件進行下載,而網絡上也無法找到完整的cygwin,所以直接帶給我們的結果就是,沒有瞭常用的下載軟件,隻能慢慢地龜速等待。


    點擊Setup.exe程序,會彈出一個下載方式選擇的對話框。因為我習慣於備份安裝文件,以方便第二臺機器安裝,所以選擇的是第二項:”Download without installing”,如圖:



    在一系列的”下一步”之後,會到一個選擇下載組件的對話框。為瞭避免以後會出現莫名奇妙的問題,我建議還是全部選擇install,如圖所示:


 



    以install方式下載整個cygwin的話,大小大概在1.7G左右,所以註定這是一個比較漫長的過程。特別是不能采用我們平時的下載工具,並且服務器在國外,更加劇瞭耗時的長度。
  
  
4. 安裝Cygwin


    還是依然點擊setup.exe這個程序,不過這次我們選擇的是:”Install From Local Directory”,如圖:



      
    接著選擇安裝的目錄,我這裡是”D:ProgramFilesCygwin”,如圖所示:


  
   
    再接下來呢,選擇的就是你下載回來的Cygwin包的路徑瞭,而我這裡路徑是”D:Toolscygwin”,如圖所示:


  
   
    可能有朋友無法確定自己的安裝路徑,其實很簡單,本地安裝包路徑就是setup.ini這個文件所在的文件夾。
  
    緊接著的安裝組件還是和之前一樣,全部選擇為install。點選下一步之後,就等著漫長的安裝過程的結束吧,如下圖所示:




5. 設置環境變量


    安裝完畢之後,為瞭能夠方便編譯NDK,最好是設置相應的環境變量。打開cygwin的安裝目錄下的home文件夾,然後進入到相應的用戶名中,如果你發現該用戶名下有.bash_profile文件,那麼接下來就簡單多瞭,直接用記事本打開該文件,然後在文件末尾添加如下文字:
    #創建NDK的路徑,在windows中我的路徑為:D:ProgramFilesAndroidNDK
   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:ProgramFilesCygwinhomeAdministrator 是沒有任何作用的,而應該放到D:WorkPlace !
  
    那麼,我們有沒有辦法更改這個目錄呢?答案當然是可以,隻要修改相應的環境變量即可。在”我的電腦”點擊右鍵,然後按如下路徑進行選擇:屬性 -> 高級 -> 環境變量。在上面或下面的框中,找到HOME這個環境變量,更改為相應的數值即可。更改之後,重啟電腦,將.bash_profile拷貝到HOME變量指向的路徑,啟動cygwin,那麼就可以生效瞭。這裡需要註意,一定要重啟電腦,否則這HOME變量之前的數值可能還會影響到cygwin。
  
    更改HOME變量數值之後,輸入pwd,很明顯看出,路徑已經改變,NDK_ROOT變量也起作用瞭,如圖:
   
   
  
6. 編譯程序


    接下來,我們就來編譯一個程序試試。


    首先,在cygwin命令行界面進入到D:ProgramFilesAndroidNDKsampleshello-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:ProgramFilesAndroidNDKsampleshello-jni,確認後即可開始編譯並生成apk文件,然後運行該程序即可。關於如何搭建Eclipse + CDT編譯環境來編譯android程序,我們下一篇文章再詳解。



參考文獻:
 
《Cygwin完全下載指南(上)》
aspx”>http://blog.csdn.net/Lionwoo/archive/2005/08/06/446962.aspx


《Windows平臺下搭建Android原生C/C++開發環境 》


/kf/201104/87830.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 

發佈留言